
/* 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_scan_relocs(Sized_relobj_incr<64,_false> * this, Symbol_table *
   param_1, Layout * layout, Read_relocs_data * param_3) */

void __thiscall
gold::Sized_relobj_incr<64,_false>::do_scan_relocs
          (Sized_relobj_incr<64,_false> *this,Symbol_table *param_1,Layout *layout,
          Read_relocs_data *param_3)

{
  undefined3 extraout_var;
  int *piVar1;
  uint *puVar2;
  uint uVar3;
  int iVar4;
  uint *puVar5;
  char *pcVar6;
  bool bVar7;
  uint uVar8;
  Sized_relobj_incr<64,_false> *this_00;
  uint uVar9;
  pointer pcVar10;
  _func_int_varargs **n;
  uchar *puVar11;
  int iVar12;
  int iVar13;
  uint uVar14;
  Sized_incremental_binary<64,_false> *pSVar15;
  undefined *UNRECOVERED_JUMPTABLE;
  Timespec TStack_58;
  int iStack_4c;
  
  uVar8 = (uint)(byte)(this->input_reader_).flags_;
  if ((1 < uVar8 - 1) && (uVar8 != 4)) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);
  }
  n = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;
  uVar8 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);
  this_00 = this;
  piVar1 = (int *)(*n[0x1d])();
  iVar12 = piVar1[1] - *piVar1;
  uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
          ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
  if (iVar12 < 0) {
    UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;
    (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();
    iStack_4c = iVar12;
    if ((_func_int_varargs **)this_00->local_symbol_index_ <= n) {
                    /* WARNING: Subroutine does not return */
      Incremental_inputs_reader<32,_true>::input_file_offset
                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);
    }
    piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                      _vptr_Object[10])(this_00);
    uVar8 = (**(code **)(*piVar1 + 0x14))(piVar1);
    if (uVar8 != 0) {
      pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus
                ._M_p;
      if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                                 name_._M_string_length - (int)pcVar10) >> 2)) &&
         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {
        if (*pcVar6 == '\0') {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,
                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));
        }
        iVar12 = *(int *)(pcVar6 + 0x48);
        if (iVar12 == 0) {
          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,
                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));
          }
          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);
        }
        if (iVar12 != 1) {
          return;
        }
      }
    }
    uVar8 = (this_00->input_reader_).info_offset_;
    uVar14 = *(uint *)(uVar8 + (int)n * 0x18 + 0x10);
    if (uVar14 < this_00->output_local_dynsym_count_) {
      pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);
    }
    else {
      pcVar6 = (char *)0x0;
    }
    TStack_58.seconds = 0;
    iVar12 = *(int *)(uVar8 + (int)n * 0x18 + 0x1c);
    TStack_58.nanoseconds = 0;
    bVar7 = get_mtime(pcVar6,&TStack_58);
    if (CONCAT31(extraout_var,bVar7) != 0) {
      if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {
        return;
      }
      return;
    }
    return;
  }
  puVar2 = (uint *)(*(code *)PTR_operator_new___004c134c)(iVar12);
  (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_ = puVar2;
  (*(code *)PTR_memset_004c5c68)(puVar2,0,iVar12);
  if (uVar8 != 0) {
    iVar12 = 0;
    uVar14 = 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);
      }
      uVar9 = (this->input_reader_).info_offset_;
      puVar11 = ((this->input_reader_).inputs_)->p_;
      uVar3 = *(uint *)(puVar11 + uVar9);
      iVar4 = uVar9 + 0x20 + iVar12 +
              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;
      uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);
      iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
      if (iVar13 != 0) {
        if (this->incr_reloc_offset_ == 0xffffffff) {
          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);
          this->incr_reloc_offset_ =
               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
        }
        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;
        iVar4 = 0;
        do {
          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                            _vptr_Object[0x1d])(this);
          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {
            iVar12 = 0x5f3;
LAB_0018f09c:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,
                                PTR_s__s_004c1a50 + 0x231c);
          }
          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;
          puVar5 = puVar2 + uVar14;
          if (puVar2 == (uint *)0x0) {
            iVar12 = 0x5f4;
            goto LAB_0018f09c;
          }
          iVar4 = iVar4 + 1;
          *puVar5 = *puVar5 + 1;
        } while (iVar4 != iVar13);
      }
      uVar14 = uVar14 + 1;
      iVar12 = iVar12 + 0x14;
    } while (uVar14 != uVar8);
  }
  UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;
  this->incr_reloc_output_index_ = layout->incremental_inputs_->reloc_count_;
  (*(code *)UNRECOVERED_JUMPTABLE)(this,layout,0);
  if (this->incr_reloc_count_ != 0) {
    pSVar15 = this->ibase_;
    iVar12 = this->incr_reloc_count_ * 0x18;
    puVar11 = (uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12);
    UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;
    this->incr_relocs_ = puVar11;
                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(code *)UNRECOVERED_JUMPTABLE)
              (puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12);
    return;
  }
  return;
}



uint FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)

{
  bool bVar1;
  int *piVar2;
  uint uVar3;
  int iVar4;
  char *pcVar5;
  uint *puVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  uint uVar10;
  undefined *UNRECOVERED_JUMPTABLE;
  int iStack_58;
  int iStack_54;
  int iStack_4c;
  
  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);
  }
  uVar7 = *param_1;
  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);
  puVar6 = param_1;
  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();
  iVar8 = piVar2[1] - *piVar2;
  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;
  if (-1 < iVar8) {
    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);
    param_1[0x16] = uVar7;
    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);
    if (uVar10 != 0) {
      iVar8 = 0;
      uVar7 = 0;
      do {
        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);
        }
        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);
        iVar4 = *(int *)param_1[0x26] +
                param_1[0x29] + 0x20 + iVar8 +
                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;
        uVar3 = *(uint *)(iVar4 + 0xc);
        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
        if (iVar9 != 0) {
          if (param_1[0x33] == 0xffffffff) {
            uVar3 = *(uint *)(iVar4 + 0x10);
            param_1[0x33] =
                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
          }
          param_1[0x34] = iVar9 + param_1[0x34];
          iVar4 = 0;
          do {
            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {
              iVar8 = 0x5f3;
LAB_0018f09c:
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable
                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,
                         PTR_s__s_004c1a50 + 0x231c);
            }
            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);
            if (param_1[0x16] == 0) {
              iVar8 = 0x5f4;
              goto LAB_0018f09c;
            }
            iVar4 = iVar4 + 1;
            *piVar2 = *piVar2 + 1;
          } while (iVar4 != iVar9);
        }
        uVar7 = uVar7 + 1;
        iVar8 = iVar8 + 0x14;
      } while (uVar7 != uVar10);
    }
    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;
    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);
    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);
    if (param_1[0x34] != 0) {
      uVar10 = param_1[0x24];
      iVar8 = param_1[0x34] * 0x18;
      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);
      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;
      param_1[0x36] = uVar7;
                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);
      return uVar7;
    }
    return 0;
  }
  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;
  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();
  iStack_4c = iVar8;
  if (puVar6[0x2c] <= uVar7) {
                    /* WARNING: Subroutine does not return */
    FUN_0018537c();
  }
  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);
  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);
  if (uVar10 != 0) {
    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&
       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {
      if (*pcVar5 == '\0') {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable
                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,
                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));
      }
      iVar8 = *(int *)(pcVar5 + 0x48);
      if (iVar8 == 0) {
        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable
                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,
                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));
        }
        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);
      }
      if (iVar8 != 1) {
        bVar1 = iVar8 == 2;
        goto LAB_0018f1c4;
      }
    }
  }
  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);
  if (uVar10 < puVar6[0x2b]) {
    pcVar5 = (char *)(puVar6[0x2a] + uVar10);
  }
  else {
    pcVar5 = (char *)0x0;
  }
  iStack_58 = 0;
  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;
  iVar4 = *(int *)(iVar8 + 4);
  iVar8 = *(int *)(iVar8 + 8);
  iStack_54 = 0;
  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);
  if (uVar7 == 0) {
    return 1;
  }
  if (iVar4 < iStack_58) {
    return uVar7;
  }
  if (iStack_58 != iVar4) {
    return 0;
  }
  bVar1 = iVar8 < iStack_54;
LAB_0018f1c4:
  return (uint)bVar1;
}


lui gp,0x34
addiu gp,gp,-0x5bbc
addu gp,gp,t9
lbu v1,0x9f(a0)
addiu sp,sp,-0x40
addiu v0,v1,-0x1
sw gp,0x10(sp)
sw s7,0x34(sp)
or s7,a0,zero
sltiu v0,v0,0x2
sw s6,0x30(sp)
sw ra,0x3c(sp)
or s6,a2,zero
sw s8,0x38(sp)
sw s5,0x2c(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
bne v0,zero,0x0018ee5c
_sw s0,0x18(sp)
li v0,0x4
bne v1,v0,0x0018f0bc
_lw a2,-0x77f0(gp)
lw v0,0x98(s7)
or a0,s7,zero
lw a1,0x0(s7)
lw v1,0xa4(s7)
lw v0,0x0(v0)
lw t9,0x74(a1)
addu v0,v0,v1
jalr t9
_lw s4,0x4(v0)
lw s0,0x4(v0)
lw v0,0x0(v0)
wsbh s4,s4
lw gp,0x10(sp)
subu s0,s0,v0
bltz s0,0x0018f0d4
_rotr s4,s4,0x10
lw t9,-0x7ef4(gp)
jalr t9
_or a0,s0,zero
or a1,zero,zero
lw gp,0x10(sp)
or a2,s0,zero
sw v0,0x58(s7)
lw t9,-0x35d8(gp)
jalr t9
_or a0,v0,zero
beq s4,zero,0x0018efd0
_lw gp,0x10(sp)
or s3,zero,zero
or s1,zero,zero
li s5,-0x1
lbu v0,0x9f(s7)
addiu v0,v0,-0x1
sltiu v0,v0,0x2
bne v0,zero,0x0018ef04
_li a1,0x414
lw a2,-0x77f0(gp)
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1bd4
bal 0x0017db90
_addiu a0,a0,0xefc
lw v0,0x98(s7)
lw a0,0xa4(s7)
lw a2,0xd0(s7)
lw a1,0x0(v0)
addiu v0,a0,0x20
addu v1,v0,s3
addu a0,a1,a0
lw v0,0x0(a0)
wsbh v0,v0
rotr v0,v0,0x10
sll a0,v0,0x1
addu v0,a0,v0
sll v0,v0,0x3
addu v0,v1,v0
addu v0,a1,v0
lw s0,0xc(v0)
wsbh s0,s0
rotr s0,s0,0x10
beq s0,zero,0x0018efc4
_addu a2,s0,a2
lw v1,0xcc(s7)
bne v1,s5,0x0018ef70
_sll s2,s1,0x2
lw v0,0x10(v0)
wsbh v0,v0
rotr v0,v0,0x10
sw v0,0xcc(s7)
sw a2,0xd0(s7)
or s8,zero,zero
lw v0,0x0(s7)
lw t9,0x74(v0)
jalr t9
_or a0,s7,zero
lw v1,0x4(v0)
lw v0,0x0(v0)
subu v1,v1,v0
sra v1,v1,0x2
sltu v1,s1,v1
beq v1,zero,0x0018f0b4
_lw gp,0x10(sp)
lw v0,0x58(s7)
beq v0,zero,0x0018f098
_addu v0,v0,s2
addiu s8,s8,0x1
lw v1,0x0(v0)
addiu v1,v1,0x1
bne s8,s0,0x0018ef78
_sw v1,0x0(v0)
addiu s1,s1,0x1
bne s1,s4,0x0018eed8
_addiu s3,s3,0x14
lw v0,0x1dc(s6)
or a2,zero,zero
lw t9,-0x57e8(gp)
or a1,s6,zero
or a0,s7,zero
lw v0,0x44(v0)
jalr t9
_sw v0,0xd4(s7)
lw v0,0xd0(s7)
bne v0,zero,0x0018f02c
_lw gp,0x10(sp)
lw ra,0x3c(sp)
lw s8,0x38(sp)
lw s7,0x34(sp)
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x40
sll s0,v0,0x1
lw t9,-0x7ef4(gp)
lw s1,0x90(s7)
addu v0,s0,v0
sll s0,v0,0x3
jalr t9
_or a0,s0,zero
or a2,s0,zero
lw gp,0x10(sp)
or a0,v0,zero
lw v1,0xcc(s7)
lw ra,0x3c(sp)
lw s8,0x38(sp)
lw s6,0x30(sp)
lw s5,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s0,0x18(sp)
lw t9,-0x3698(gp)
sw v0,0xd8(s7)
lw a1,0xc8(s1)
lw s7,0x34(sp)
lw s1,0x1c(sp)
addiu sp,sp,0x40
jr t9
_addu a1,a1,v1
li a1,0x5f4
lw a2,-0x77f0(gp)
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x231c
bal 0x0017db90
_addiu a0,a0,0x4570
b 0x0018f09c
_li a1,0x5f3
li a1,0x388
lw a0,-0x77f0(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x1d20
bal 0x0017db90
_addiu a0,a0,0xefc
lw t9,-0x7ee8(gp)
jalr t9
_nop
(translation_unit "uint FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)\n\n{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)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  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}\n\n" (function_definition "uint FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)\n\n{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)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  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}" type_identifier (function_declarator "FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(uint *param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)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  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "int iStack_58;" primitive_type identifier ;) (declaration "int iStack_54;" primitive_type identifier ;) (declaration "int iStack_4c;" primitive_type identifier ;) (if_statement "if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)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 *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4))" ( (binary_expression "(1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)" (parenthesized_expression "(1 < *(byte *)((int)param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)((int)param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)((int)param_1 + 0x9f) - 1" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" * (cast_expression "(byte *)((int)param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x9f)" ( (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal)) )) && (parenthesized_expression "(*(byte *)((int)param_1 + 0x9f) != 4)" ( (binary_expression "*(byte *)((int)param_1 + 0x9f) != 4" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" * (cast_expression "(byte *)((int)param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x9f)" ( (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) 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 "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);" (assignment_expression "uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" identifier = (pointer_expression "*(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" * (cast_expression "(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x26] + param_1[0x29] + 4)" ( (binary_expression "*(int *)param_1[0x26] + param_1[0x29] + 4" (binary_expression "*(int *)param_1[0x26] + param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" * (cast_expression "(int *)param_1[0x26]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "puVar6 = param_1;" (assignment_expression "puVar6 = param_1" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(**(code **)(uVar7 + 0x74))();" (assignment_expression "piVar2 = (int *)(**(code **)(uVar7 + 0x74))()" identifier = (cast_expression "(int *)(**(code **)(uVar7 + 0x74))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(uVar7 + 0x74))()" (parenthesized_expression "(**(code **)(uVar7 + 0x74))" ( (pointer_expression "**(code **)(uVar7 + 0x74)" * (pointer_expression "*(code **)(uVar7 + 0x74)" * (cast_expression "(code **)(uVar7 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar7 + 0x74)" ( (binary_expression "uVar7 + 0x74" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar8 = piVar2[1] - *piVar2;" (assignment_expression "iVar8 = piVar2[1] - *piVar2" identifier = (binary_expression "piVar2[1] - *piVar2" (subscript_expression "piVar2[1]" identifier [ number_literal ]) - (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar10 = (((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))) ;) (if_statement "if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (compound_statement "{\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }" { (expression_statement "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar8)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "param_1[0x16] = uVar7;" (assignment_expression "param_1[0x16] = uVar7" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);" (call_expression "(*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" ( (pointer_expression "*(code *)PTR_memset_004c5c68" * (cast_expression "(code *)PTR_memset_004c5c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,0,iVar8)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);" do (compound_statement "{\n        if (1 < *(byte *)((int)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        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      }" { (if_statement "if (1 < *(byte *)((int)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 *)((int)param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)((int)param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)((int)param_1 + 0x9f) - 1" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" * (cast_expression "(byte *)((int)param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x9f)" ( (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) 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 "uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);" (assignment_expression "uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29])" identifier = (pointer_expression "*(uint *)(*(int *)param_1[0x26] + param_1[0x29])" * (cast_expression "(uint *)(*(int *)param_1[0x26] + param_1[0x29])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x26] + param_1[0x29])" ( (binary_expression "*(int *)param_1[0x26] + param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" * (cast_expression "(int *)param_1[0x26]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) ))))) ;) (expression_statement "iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;" (assignment_expression "iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" identifier = (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" * (cast_expression "(int *)param_1[0x26]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) + number_literal) + identifier) + (binary_expression "((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (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)) )) * number_literal))) ;) (expression_statement "uVar3 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar3 = *(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) ))))) ;) (expression_statement "iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((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 (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }" { (if_statement "if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(param_1[0x33] == 0xffffffff)" ( (binary_expression "param_1[0x33] == 0xffffffff" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar3 = *(uint *)(iVar4 + 0x10);" (assignment_expression "uVar3 = *(uint *)(iVar4 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x10)" * (cast_expression "(uint *)(iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = (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 "param_1[0x34] = iVar9 + param_1[0x34];" (assignment_expression "param_1[0x34] = iVar9 + param_1[0x34]" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) = (binary_expression "iVar9 + param_1[0x34]" identifier + (subscript_expression "param_1[0x34]" identifier [ number_literal ]))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);" do (compound_statement "{\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          }" { (expression_statement "piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }" if (parenthesized_expression "((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7)" ( (binary_expression "(uint)(piVar2[1] - *piVar2 >> 2) <= uVar7" (call_expression "(uint)(piVar2[1] - *piVar2 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar2[1] - *piVar2 >> 2)" ( (binary_expression "piVar2[1] - *piVar2 >> 2" (binary_expression "piVar2[1] - *piVar2" (subscript_expression "piVar2[1]" identifier [ number_literal ]) - (pointer_expression "*piVar2" * identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }" { (expression_statement "iVar8 = 0x5f3;" (assignment_expression "iVar8 = 0x5f3" identifier = number_literal) ;) (labeled_statement "LAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" (call_expression "do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + 0x231c" identifier + number_literal) ))) ;))) })) (expression_statement "piVar2 = (int *)(param_1[0x16] + uVar7 * 4);" (assignment_expression "piVar2 = (int *)(param_1[0x16] + uVar7 * 4)" identifier = (cast_expression "(int *)(param_1[0x16] + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x16] + uVar7 * 4)" ( (binary_expression "param_1[0x16] + uVar7 * 4" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (if_statement "if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }" if (parenthesized_expression "(param_1[0x16] == 0)" ( (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }" { (expression_statement "iVar8 = 0x5f4;" (assignment_expression "iVar8 = 0x5f4" identifier = number_literal) ;) (goto_statement "goto LAB_0018f09c;" goto statement_identifier ;) })) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*piVar2 = *piVar2 + 1;" (assignment_expression "*piVar2 = *piVar2 + 1" (pointer_expression "*piVar2" * identifier) = (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar9)" ( (binary_expression "iVar4 != iVar9" identifier != identifier) )) ;) })) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = iVar8 + 0x14;" (assignment_expression "iVar8 = iVar8 + 0x14" identifier = (binary_expression "iVar8 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar10)" ( (binary_expression "uVar7 != uVar10" identifier != identifier) )) ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58" identifier = identifier) ;) (expression_statement "param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);" (assignment_expression "param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" (subscript_expression "param_1[0x35]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" * (cast_expression "(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x1dc) + 0x44)" ( (binary_expression "*(int *)(param_3 + 0x1dc) + 0x44" (pointer_expression "*(int *)(param_3 + 0x1dc)" * (cast_expression "(int *)(param_3 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1dc)" ( (binary_expression "param_3 + 0x1dc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "(*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);" (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_3,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }" if (parenthesized_expression "(param_1[0x34] != 0)" ( (binary_expression "param_1[0x34] != 0" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }" { (expression_statement "uVar10 = param_1[0x24];" (assignment_expression "uVar10 = param_1[0x24]" identifier = (subscript_expression "param_1[0x24]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = param_1[0x34] * 0x18;" (assignment_expression "iVar8 = param_1[0x34] * 0x18" identifier = (binary_expression "param_1[0x34] * 0x18" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) * number_literal)) ;) (expression_statement "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar8)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8" identifier = identifier) ;) (expression_statement "param_1[0x36] = uVar7;" (assignment_expression "param_1[0x36] = uVar7" (subscript_expression "param_1[0x36]" identifier [ number_literal ]) = identifier) ;) comment comment (expression_statement "uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);" (assignment_expression "uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" identifier = (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" ( identifier , (binary_expression "*(int *)(uVar10 + 200) + param_1[0x33]" (pointer_expression "*(int *)(uVar10 + 200)" * (cast_expression "(int *)(uVar10 + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 200)" ( (binary_expression "uVar10 + 200" identifier + number_literal) )))) + (subscript_expression "param_1[0x33]" identifier [ number_literal ])) , identifier )))) ;) (return_statement "return uVar7;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358" identifier = identifier) ;) (expression_statement "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();" (call_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)()" (parenthesized_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)" ( (pointer_expression "*(code *)PTR___cxa_throw_bad_array_new_length_004c1358" * (cast_expression "(code *)PTR___cxa_throw_bad_array_new_length_004c1358" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_4c = iVar8;" (assignment_expression "iStack_4c = iVar8" identifier = identifier) ;) (if_statement "if (puVar6[0x2c] <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0018537c();\n  }" if (parenthesized_expression "(puVar6[0x2c] <= uVar7)" ( (binary_expression "puVar6[0x2c] <= uVar7" (subscript_expression "puVar6[0x2c]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0018537c();\n  }" { comment (expression_statement "FUN_0018537c();" (call_expression "FUN_0018537c()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);" (assignment_expression "piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6)" identifier = (cast_expression "(int *)(**(code **)(*puVar6 + 0x28))(puVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*puVar6 + 0x28))(puVar6)" (parenthesized_expression "(**(code **)(*puVar6 + 0x28))" ( (pointer_expression "**(code **)(*puVar6 + 0x28)" * (pointer_expression "*(code **)(*puVar6 + 0x28)" * (cast_expression "(code **)(*puVar6 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*puVar6 + 0x28)" ( (binary_expression "*puVar6 + 0x28" (pointer_expression "*puVar6" * identifier) + number_literal) ))))) )) (argument_list "(puVar6)" ( identifier ))))) ;) (expression_statement "uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);" (assignment_expression "uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0x14))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0x14))" ( (pointer_expression "**(code **)(*piVar2 + 0x14)" * (pointer_expression "*(code **)(*piVar2 + 0x14)" * (cast_expression "(code **)(*piVar2 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0x14)" ( (binary_expression "*piVar2 + 0x14" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) (if_statement "if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }" { (if_statement "if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }" if (parenthesized_expression "((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0))" ( (binary_expression "(uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)" (parenthesized_expression "(uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2))" ( (binary_expression "uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)" identifier <= (call_expression "(uint)((int)(puVar6[2] - puVar6[1]) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(puVar6[2] - puVar6[1]) >> 2)" ( (binary_expression "(int)(puVar6[2] - puVar6[1]) >> 2" (cast_expression "(int)(puVar6[2] - puVar6[1])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar6[2] - puVar6[1])" ( (binary_expression "puVar6[2] - puVar6[1]" (subscript_expression "puVar6[2]" identifier [ number_literal ]) - (subscript_expression "puVar6[1]" identifier [ number_literal ])) ))) >> number_literal) )))) )) && (parenthesized_expression "(pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)" ( (comma_expression "pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0" (assignment_expression "pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4)" identifier = (pointer_expression "*(char **)(puVar6[1] + (uVar10 - 1) * 4)" * (cast_expression "(char **)(puVar6[1] + (uVar10 - 1) * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6[1] + (uVar10 - 1) * 4)" ( (binary_expression "puVar6[1] + (uVar10 - 1) * 4" (subscript_expression "puVar6[1]" identifier [ number_literal ]) + (binary_expression "(uVar10 - 1) * 4" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) * number_literal)) ))))) , (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }" { (if_statement "if (*pcVar5 == '\0') {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }" if (parenthesized_expression "(*pcVar5 == '\0')" ( (binary_expression "*pcVar5 == '\0'" (pointer_expression "*pcVar5" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }" { comment (labeled_statement "gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" (call_expression "do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" identifier (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" ( (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) ))) ;)) })) (expression_statement "iVar8 = *(int *)(pcVar5 + 0x48);" (assignment_expression "iVar8 = *(int *)(pcVar5 + 0x48)" identifier = (pointer_expression "*(int *)(pcVar5 + 0x48)" * (cast_expression "(int *)(pcVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x48)" ( (binary_expression "pcVar5 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }" { (if_statement "if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }" if (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0)" ( (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" * (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }" { comment (labeled_statement "gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" (call_expression "do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" identifier (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" ( (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x33219c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x33219c" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) ))) ;)) })) (expression_statement "iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);" (assignment_expression "iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" identifier = (pointer_expression "*(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" * (cast_expression "(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" ( (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" * (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) ))))) ;) })) (if_statement "if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (compound_statement "{\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }" { (expression_statement "bVar1 = iVar8 == 2;" (assignment_expression "bVar1 = iVar8 == 2" identifier = (binary_expression "iVar8 == 2" identifier == number_literal)) ;) (goto_statement "goto LAB_0018f1c4;" goto statement_identifier ;) })) })) })) (expression_statement "uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);" (assignment_expression "uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" identifier = (pointer_expression "*(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" * (cast_expression "(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6[0x29] + uVar7 * 0x18 + 0x10)" ( (binary_expression "puVar6[0x29] + uVar7 * 0x18 + 0x10" (binary_expression "puVar6[0x29] + uVar7 * 0x18" (subscript_expression "puVar6[0x29]" identifier [ number_literal ]) + (binary_expression "uVar7 * 0x18" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }" if (parenthesized_expression "(uVar10 < puVar6[0x2b])" ( (binary_expression "uVar10 < puVar6[0x2b]" identifier < (subscript_expression "puVar6[0x2b]" identifier [ number_literal ])) )) (compound_statement "{\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }" { (expression_statement "pcVar5 = (char *)(puVar6[0x2a] + uVar10);" (assignment_expression "pcVar5 = (char *)(puVar6[0x2a] + uVar10)" identifier = (cast_expression "(char *)(puVar6[0x2a] + uVar10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6[0x2a] + uVar10)" ( (binary_expression "puVar6[0x2a] + uVar10" (subscript_expression "puVar6[0x2a]" identifier [ number_literal ]) + identifier) )))) ;) }) (else_clause "else {\n    pcVar5 = (char *)0x0;\n  }" else (compound_statement "{\n    pcVar5 = (char *)0x0;\n  }" { (expression_statement "pcVar5 = (char *)0x0;" (assignment_expression "pcVar5 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "iStack_58 = 0;" (assignment_expression "iStack_58 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;" (assignment_expression "iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18" identifier = (binary_expression "puVar6[0x29] + uVar7 * 0x18 + 0x18" (binary_expression "puVar6[0x29] + uVar7 * 0x18" (subscript_expression "puVar6[0x29]" identifier [ number_literal ]) + (binary_expression "uVar7 * 0x18" identifier * number_literal)) + number_literal)) ;) (expression_statement "iVar4 = *(int *)(iVar8 + 4);" (assignment_expression "iVar4 = *(int *)(iVar8 + 4)" identifier = (pointer_expression "*(int *)(iVar8 + 4)" * (cast_expression "(int *)(iVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar8 + 8);" (assignment_expression "iVar8 = *(int *)(iVar8 + 8)" identifier = (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "iStack_54 = 0;" (assignment_expression "iStack_54 = 0" identifier = number_literal) ;) (ERROR "uVar7 = gold::" (assignment_expression "uVar7 = gold" identifier = identifier) : :) (expression_statement "get_mtime(pcVar5,(Timespec *)&iStack_58);" (call_expression "get_mtime(pcVar5,(Timespec *)&iStack_58)" identifier (argument_list "(pcVar5,(Timespec *)&iStack_58)" ( identifier , (cast_expression "(Timespec *)&iStack_58" ( (type_descriptor "Timespec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_58" & identifier)) ))) ;) (if_statement "if (uVar7 == 0) {\n    return 1;\n  }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (iVar4 < iStack_58) {\n    return uVar7;\n  }" if (parenthesized_expression "(iVar4 < iStack_58)" ( (binary_expression "iVar4 < iStack_58" identifier < identifier) )) (compound_statement "{\n    return uVar7;\n  }" { (return_statement "return uVar7;" return identifier ;) })) (if_statement "if (iStack_58 != iVar4) {\n    return 0;\n  }" if (parenthesized_expression "(iStack_58 != iVar4)" ( (binary_expression "iStack_58 != iVar4" identifier != identifier) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = iVar8 < iStack_54;" (assignment_expression "bVar1 = iVar8 < iStack_54" identifier = (binary_expression "iVar8 < iStack_54" identifier < identifier)) ;) (labeled_statement "LAB_0018f1c4:\n  return (uint)bVar1;" statement_identifier : (return_statement "return (uint)bVar1;" return (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ;)) })))
(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_scan_relocs(Sized_relobj_incr<64,_false> * this, Symbol_table *\n   param_1, Layout * layout, Read_relocs_data * param_3) */\n\nvoid __thiscall\ngold::Sized_relobj_incr<64,_false>::do_scan_relocs\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *param_1,Layout *layout,\n          Read_relocs_data *param_3)\n\n{\n  undefined3 extraout_var;\n  int *piVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  uint *puVar5;\n  char *pcVar6;\n  bool bVar7;\n  uint uVar8;\n  Sized_relobj_incr<64,_false> *this_00;\n  uint uVar9;\n  pointer pcVar10;\n  _func_int_varargs **n;\n  uchar *puVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  Sized_incremental_binary<64,_false> *pSVar15;\n  undefined *UNRECOVERED_JUMPTABLE;\n  Timespec TStack_58;\n  int iStack_4c;\n  \n  uVar8 = (uint)(byte)(this->input_reader_).flags_;\n  if ((1 < uVar8 - 1) && (uVar8 != 4)) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  n = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;\n  uVar8 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);\n  this_00 = this;\n  piVar1 = (int *)(*n[0x1d])();\n  iVar12 = piVar1[1] - *piVar1;\n  uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n          ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n  if (iVar12 < 0) {\n    UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n    (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n    iStack_4c = iVar12;\n    if ((_func_int_varargs **)this_00->local_symbol_index_ <= n) {\n                    /* WARNING: Subroutine does not return */\n      Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);\n    }\n    piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00);\n    uVar8 = (**(code **)(*piVar1 + 0x14))(piVar1);\n    if (uVar8 != 0) {\n      pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p;\n      if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }\n    }\n    uVar8 = (this_00->input_reader_).info_offset_;\n    uVar14 = *(uint *)(uVar8 + (int)n * 0x18 + 0x10);\n    if (uVar14 < this_00->output_local_dynsym_count_) {\n      pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);\n    }\n    else {\n      pcVar6 = (char *)0x0;\n    }\n    TStack_58.seconds = 0;\n    iVar12 = *(int *)(uVar8 + (int)n * 0x18 + 0x1c);\n    TStack_58.nanoseconds = 0;\n    bVar7 = get_mtime(pcVar6,&TStack_58);\n    if (CONCAT31(extraout_var,bVar7) != 0) {\n      if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {\n        return;\n      }\n      return;\n    }\n    return;\n  }\n  puVar2 = (uint *)(*(code *)PTR_operator_new___004c134c)(iVar12);\n  (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_ = puVar2;\n  (*(code *)PTR_memset_004c5c68)(puVar2,0,iVar12);\n  if (uVar8 != 0) {\n    iVar12 = 0;\n    uVar14 = 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      uVar9 = (this->input_reader_).info_offset_;\n      puVar11 = ((this->input_reader_).inputs_)->p_;\n      uVar3 = *(uint *)(puVar11 + uVar9);\n      iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n      uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);\n      iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (iVar13 != 0) {\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }\n      uVar14 = uVar14 + 1;\n      iVar12 = iVar12 + 0x14;\n    } while (uVar14 != uVar8);\n  }\n  UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n  this->incr_reloc_output_index_ = layout->incremental_inputs_->reloc_count_;\n  (*(code *)UNRECOVERED_JUMPTABLE)(this,layout,0);\n  if (this->incr_reloc_count_ != 0) {\n    pSVar15 = this->ibase_;\n    iVar12 = this->incr_reloc_count_ * 0x18;\n    puVar11 = (uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12);\n    UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n    this->incr_relocs_ = puVar11;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)UNRECOVERED_JUMPTABLE)\n              (puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12);\n    return;\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_incr<64,_false>::do_scan_relocs\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *param_1,Layout *layout,\n          Read_relocs_data *param_3)\n\n{\n  undefined3 extraout_var;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::do_scan_relocs\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *param_1,Layout *layout,\n          Read_relocs_data *param_3)\n\n{\n  undefined3" identifier > : : (function_declarator "do_scan_relocs\n          (Sized_relobj_incr<64,_false> *this,Symbol_table *param_1,Layout *layout,\n          Read_relocs_data *param_3)" identifier (parameter_list "(Sized_relobj_incr<64,_false> *this,Symbol_table *param_1,Layout *layout,\n          Read_relocs_data *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 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Read_relocs_data *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) { identifier) identifier ;) (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (expression_statement "Sized_relobj_incr<64,_false> *this_00;" (update_expression "Sized_relobj_incr<64,_false> *this_00" (binary_expression "Sized_relobj_incr<64,_false> *this_00" (binary_expression "Sized_relobj_incr<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "pointer pcVar10;" type_identifier identifier ;) (declaration "_func_int_varargs **n;" type_identifier (pointer_declarator "**n" * (pointer_declarator "*n" * identifier)) ;) (declaration "uchar *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier 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 "undefined *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "Timespec TStack_58;" type_identifier identifier ;) (declaration "int iStack_4c;" primitive_type identifier ;) (expression_statement "uVar8 = (uint)(byte)(this->input_reader_).flags_;" (assignment_expression "uVar8 = (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 < uVar8 - 1) && (uVar8 != 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 < uVar8 - 1) && (uVar8 != 4))" ( (binary_expression "(1 < uVar8 - 1) && (uVar8 != 4)" (parenthesized_expression "(1 < uVar8 - 1)" ( (binary_expression "1 < uVar8 - 1" number_literal < (binary_expression "uVar8 - 1" identifier - number_literal)) )) && (parenthesized_expression "(uVar8 != 4)" ( (binary_expression "uVar8 != 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 "n = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "n = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar8 = *(uint *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);" (assignment_expression "uVar8 = *(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 "this_00 = this;" (assignment_expression "this_00 = this" identifier = identifier) ;) (expression_statement "piVar1 = (int *)(*n[0x1d])();" (assignment_expression "piVar1 = (int *)(*n[0x1d])()" identifier = (cast_expression "(int *)(*n[0x1d])()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*n[0x1d])()" (parenthesized_expression "(*n[0x1d])" ( (pointer_expression "*n[0x1d]" * (subscript_expression "n[0x1d]" identifier [ number_literal ])) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar12 = piVar1[1] - *piVar1;" (assignment_expression "iVar12 = piVar1[1] - *piVar1" identifier = (binary_expression "piVar1[1] - *piVar1" (subscript_expression "piVar1[1]" identifier [ number_literal ]) - (pointer_expression "*piVar1" * 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))) ;) (if_statement "if (iVar12 < 0) {\n    UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n    (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n    iStack_4c = iVar12;\n    if ((_func_int_varargs **)this_00->local_symbol_index_ <= n) {\n                    /* WARNING: Subroutine does not return */\n      Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);\n    }\n    piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00);\n    uVar8 = (**(code **)(*piVar1 + 0x14))(piVar1);\n    if (uVar8 != 0) {\n      pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p;\n      if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }\n    }\n    uVar8 = (this_00->input_reader_).info_offset_;\n    uVar14 = *(uint *)(uVar8 + (int)n * 0x18 + 0x10);\n    if (uVar14 < this_00->output_local_dynsym_count_) {\n      pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);\n    }\n    else {\n      pcVar6 = (char *)0x0;\n    }\n    TStack_58.seconds = 0;\n    iVar12 = *(int *)(uVar8 + (int)n * 0x18 + 0x1c);\n    TStack_58.nanoseconds = 0;\n    bVar7 = get_mtime(pcVar6,&TStack_58);\n    if (CONCAT31(extraout_var,bVar7) != 0) {\n      if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {\n        return;\n      }\n      return;\n    }\n    return;\n  }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n    UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n    (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n    iStack_4c = iVar12;\n    if ((_func_int_varargs **)this_00->local_symbol_index_ <= n) {\n                    /* WARNING: Subroutine does not return */\n      Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);\n    }\n    piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00);\n    uVar8 = (**(code **)(*piVar1 + 0x14))(piVar1);\n    if (uVar8 != 0) {\n      pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p;\n      if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }\n    }\n    uVar8 = (this_00->input_reader_).info_offset_;\n    uVar14 = *(uint *)(uVar8 + (int)n * 0x18 + 0x10);\n    if (uVar14 < this_00->output_local_dynsym_count_) {\n      pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);\n    }\n    else {\n      pcVar6 = (char *)0x0;\n    }\n    TStack_58.seconds = 0;\n    iVar12 = *(int *)(uVar8 + (int)n * 0x18 + 0x1c);\n    TStack_58.nanoseconds = 0;\n    bVar7 = get_mtime(pcVar6,&TStack_58);\n    if (CONCAT31(extraout_var,bVar7) != 0) {\n      if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {\n        return;\n      }\n      return;\n    }\n    return;\n  }" { (expression_statement "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358" identifier = identifier) ;) (expression_statement "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();" (call_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)()" (parenthesized_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)" ( (pointer_expression "*(code *)PTR___cxa_throw_bad_array_new_length_004c1358" * (cast_expression "(code *)PTR___cxa_throw_bad_array_new_length_004c1358" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_4c = iVar12;" (assignment_expression "iStack_4c = iVar12" identifier = identifier) ;) (if_statement "if ((_func_int_varargs **)this_00->local_symbol_index_ <= n) {\n                    /* WARNING: Subroutine does not return */\n      Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);\n    }" if (parenthesized_expression "((_func_int_varargs **)this_00->local_symbol_index_ <= n)" ( (binary_expression "(_func_int_varargs **)this_00->local_symbol_index_ <= n" (cast_expression "(_func_int_varargs **)this_00->local_symbol_index_" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "this_00->local_symbol_index_" identifier -> field_identifier)) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);\n    }" { comment (expression_statement "Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n);" (comma_expression "Incremental_inputs_reader<32,_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n)" (binary_expression "Incremental_inputs_reader<32" identifier < number_literal) , (binary_expression "_true>::input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n)" identifier > (ERROR "::" : :) (call_expression "input_file_offset\n                ((Incremental_inputs_reader<32,_true> *)this_00,(uint)n)" identifier (argument_list "((Incremental_inputs_reader<32,_true> *)this_00,(uint)n)" ( (parenthesized_expression "(Incremental_inputs_reader<32,_true> *)this_00,(uint)n)" ( (comma_expression "Incremental_inputs_reader<32,_true> *)this_00,(uint)n" (binary_expression "Incremental_inputs_reader<32" identifier < number_literal) , (comma_expression "_true> *)this_00,(uint)n" (binary_expression "_true> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , (cast_expression "(uint)n" ( (type_descriptor "uint" type_identifier) ) identifier))) )) ))))) ;) })) (expression_statement "piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00);" (assignment_expression "piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00)" identifier = (cast_expression "(int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])(this_00)" (parenthesized_expression "(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10])" ( (pointer_expression "*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10]" * (subscript_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object[10]" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                      _vptr_Object" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this_00->super_Sized_relobj<64,_false>)" ( (comma_expression "this_00->super_Sized_relobj<64,_false" (binary_expression "this_00->super_Sized_relobj<64" (field_expression "this_00->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this_00)" ( identifier ))))) ;) (expression_statement "uVar8 = (**(code **)(*piVar1 + 0x14))(piVar1);" (assignment_expression "uVar8 = (**(code **)(*piVar1 + 0x14))(piVar1)" identifier = (call_expression "(**(code **)(*piVar1 + 0x14))(piVar1)" (parenthesized_expression "(**(code **)(*piVar1 + 0x14))" ( (pointer_expression "**(code **)(*piVar1 + 0x14)" * (pointer_expression "*(code **)(*piVar1 + 0x14)" * (cast_expression "(code **)(*piVar1 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0x14)" ( (binary_expression "*piVar1 + 0x14" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) )) (argument_list "(piVar1)" ( identifier )))) ;) (if_statement "if (uVar8 != 0) {\n      pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p;\n      if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }\n    }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p;\n      if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }\n    }" { (expression_statement "pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p;" (assignment_expression "pcVar10 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p" identifier = (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus\n                ._M_p" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this_00->super_Sized_relobj<64,_false>)" ( (comma_expression "this_00->super_Sized_relobj<64,_false" (binary_expression "this_00->super_Sized_relobj<64" (field_expression "this_00->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if ((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)) {\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }" if (parenthesized_expression "((uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0))" ( (binary_expression "(uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)) &&\n         (pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)" (parenthesized_expression "(uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2))" ( (binary_expression "uVar8 <= (uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)" identifier <= (call_expression "(uint)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2)" ( (binary_expression "(int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10) >> 2" (cast_expression "(int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10)" ( (binary_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length - (int)pcVar10" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_._M_string_length" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                                 name_" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this_00->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this_00->super_Sized_relobj<64,_false>)" ( (comma_expression "this_00->super_Sized_relobj<64,_false" (binary_expression "this_00->super_Sized_relobj<64" (field_expression "this_00->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) >> number_literal) )))) )) && (parenthesized_expression "(pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0)" ( (comma_expression "pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4), pcVar6 != (char *)0x0" (assignment_expression "pcVar6 = *(char **)(pcVar10 + (uVar8 - 1) * 4)" identifier = (pointer_expression "*(char **)(pcVar10 + (uVar8 - 1) * 4)" * (cast_expression "(char **)(pcVar10 + (uVar8 - 1) * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar10 + (uVar8 - 1) * 4)" ( (binary_expression "pcVar10 + (uVar8 - 1) * 4" identifier + (binary_expression "(uVar8 - 1) * 4" (parenthesized_expression "(uVar8 - 1)" ( (binary_expression "uVar8 - 1" identifier - number_literal) )) * number_literal)) ))))) , (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }\n        iVar12 = *(int *)(pcVar6 + 0x48);\n        if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }\n        if (iVar12 != 1) {\n          return;\n        }\n      }" { (if_statement "if (*pcVar6 == '\0') {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }" if (parenthesized_expression "(*pcVar6 == '\0')" ( (binary_expression "*pcVar6 == '\0'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n        }" { comment (expression_statement "do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" (call_expression "do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" identifier (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                              (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" ( (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) ))) ;) })) (expression_statement "iVar12 = *(int *)(pcVar6 + 0x48);" (assignment_expression "iVar12 = *(int *)(pcVar6 + 0x48)" identifier = (pointer_expression "*(int *)(pcVar6 + 0x48)" * (cast_expression "(int *)(pcVar6 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x48)" ( (binary_expression "pcVar6 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 == 0) {\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\n          if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }\n          iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n        }" { (if_statement "if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }" if (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0)" ( (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" * (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n          }" { comment (expression_statement "do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" (call_expression "do_gold_unreachable((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" identifier (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                                (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" ( (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x33219c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x33219c" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) ))) ;) })) (expression_statement "iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);" (assignment_expression "iVar12 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" identifier = (pointer_expression "*(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" * (cast_expression "(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" ( (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" * (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) ))))) ;) })) (if_statement "if (iVar12 != 1) {\n          return;\n        }" if (parenthesized_expression "(iVar12 != 1)" ( (binary_expression "iVar12 != 1" identifier != number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) })) (expression_statement "uVar8 = (this_00->input_reader_).info_offset_;" (assignment_expression "uVar8 = (this_00->input_reader_).info_offset_" identifier = (field_expression "(this_00->input_reader_).info_offset_" (parenthesized_expression "(this_00->input_reader_)" ( (field_expression "this_00->input_reader_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar14 = *(uint *)(uVar8 + (int)n * 0x18 + 0x10);" (assignment_expression "uVar14 = *(uint *)(uVar8 + (int)n * 0x18 + 0x10)" identifier = (pointer_expression "*(uint *)(uVar8 + (int)n * 0x18 + 0x10)" * (cast_expression "(uint *)(uVar8 + (int)n * 0x18 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + (int)n * 0x18 + 0x10)" ( (binary_expression "uVar8 + (int)n * 0x18 + 0x10" (binary_expression "uVar8 + (int)n * 0x18" identifier + (binary_expression "(int)n * 0x18" (cast_expression "(int)n" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar14 < this_00->output_local_dynsym_count_) {\n      pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);\n    }\n    else {\n      pcVar6 = (char *)0x0;\n    }" if (parenthesized_expression "(uVar14 < this_00->output_local_dynsym_count_)" ( (binary_expression "uVar14 < this_00->output_local_dynsym_count_" identifier < (field_expression "this_00->output_local_dynsym_count_" identifier -> field_identifier)) )) (compound_statement "{\n      pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);\n    }" { (expression_statement "pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14);" (assignment_expression "pcVar6 = (char *)(this_00->local_symbol_count_ + uVar14)" identifier = (cast_expression "(char *)(this_00->local_symbol_count_ + uVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00->local_symbol_count_ + uVar14)" ( (binary_expression "this_00->local_symbol_count_ + uVar14" (field_expression "this_00->local_symbol_count_" identifier -> field_identifier) + identifier) )))) ;) }) (else_clause "else {\n      pcVar6 = (char *)0x0;\n    }" else (compound_statement "{\n      pcVar6 = (char *)0x0;\n    }" { (expression_statement "pcVar6 = (char *)0x0;" (assignment_expression "pcVar6 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "TStack_58.seconds = 0;" (assignment_expression "TStack_58.seconds = 0" (field_expression "TStack_58.seconds" identifier . field_identifier) = number_literal) ;) (expression_statement "iVar12 = *(int *)(uVar8 + (int)n * 0x18 + 0x1c);" (assignment_expression "iVar12 = *(int *)(uVar8 + (int)n * 0x18 + 0x1c)" identifier = (pointer_expression "*(int *)(uVar8 + (int)n * 0x18 + 0x1c)" * (cast_expression "(int *)(uVar8 + (int)n * 0x18 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + (int)n * 0x18 + 0x1c)" ( (binary_expression "uVar8 + (int)n * 0x18 + 0x1c" (binary_expression "uVar8 + (int)n * 0x18" identifier + (binary_expression "(int)n * 0x18" (cast_expression "(int)n" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal) ))))) ;) (expression_statement "TStack_58.nanoseconds = 0;" (assignment_expression "TStack_58.nanoseconds = 0" (field_expression "TStack_58.nanoseconds" identifier . field_identifier) = number_literal) ;) (expression_statement "bVar7 = get_mtime(pcVar6,&TStack_58);" (assignment_expression "bVar7 = get_mtime(pcVar6,&TStack_58)" identifier = (call_expression "get_mtime(pcVar6,&TStack_58)" identifier (argument_list "(pcVar6,&TStack_58)" ( identifier , (pointer_expression "&TStack_58" & identifier) )))) ;) (if_statement "if (CONCAT31(extraout_var,bVar7) != 0) {\n      if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {\n        return;\n      }\n      return;\n    }" if (parenthesized_expression "(CONCAT31(extraout_var,bVar7) != 0)" ( (binary_expression "CONCAT31(extraout_var,bVar7) != 0" (call_expression "CONCAT31(extraout_var,bVar7)" identifier (argument_list "(extraout_var,bVar7)" ( identifier , identifier ))) != number_literal) )) (compound_statement "{\n      if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {\n        return;\n      }\n      return;\n    }" { (if_statement "if ((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)) {\n        return;\n      }" if (parenthesized_expression "((TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12))" ( (binary_expression "(TStack_58.seconds <= iVar12) && (TStack_58.seconds != iVar12)" (parenthesized_expression "(TStack_58.seconds <= iVar12)" ( (binary_expression "TStack_58.seconds <= iVar12" (field_expression "TStack_58.seconds" identifier . field_identifier) <= identifier) )) && (parenthesized_expression "(TStack_58.seconds != iVar12)" ( (binary_expression "TStack_58.seconds != iVar12" (field_expression "TStack_58.seconds" identifier . field_identifier) != identifier) ))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })) (expression_statement "puVar2 = (uint *)(*(code *)PTR_operator_new___004c134c)(iVar12);" (assignment_expression "puVar2 = (uint *)(*(code *)PTR_operator_new___004c134c)(iVar12)" identifier = (cast_expression "(uint *)(*(code *)PTR_operator_new___004c134c)(iVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar12)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12)" ( identifier ))))) ;) (expression_statement "(this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_ = puVar2;" (assignment_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_ = puVar2" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(*(code *)PTR_memset_004c5c68)(puVar2,0,iVar12);" (call_expression "(*(code *)PTR_memset_004c5c68)(puVar2,0,iVar12)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" ( (pointer_expression "*(code *)PTR_memset_004c5c68" * (cast_expression "(code *)PTR_memset_004c5c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2,0,iVar12)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (uVar8 != 0) {\n    iVar12 = 0;\n    uVar14 = 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      uVar9 = (this->input_reader_).info_offset_;\n      puVar11 = ((this->input_reader_).inputs_)->p_;\n      uVar3 = *(uint *)(puVar11 + uVar9);\n      iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n      uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);\n      iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (iVar13 != 0) {\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }\n      uVar14 = uVar14 + 1;\n      iVar12 = iVar12 + 0x14;\n    } while (uVar14 != uVar8);\n  }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar12 = 0;\n    uVar14 = 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      uVar9 = (this->input_reader_).info_offset_;\n      puVar11 = ((this->input_reader_).inputs_)->p_;\n      uVar3 = *(uint *)(puVar11 + uVar9);\n      iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n      uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);\n      iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (iVar13 != 0) {\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }\n      uVar14 = uVar14 + 1;\n      iVar12 = iVar12 + 0x14;\n    } while (uVar14 != uVar8);\n  }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 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      uVar9 = (this->input_reader_).info_offset_;\n      puVar11 = ((this->input_reader_).inputs_)->p_;\n      uVar3 = *(uint *)(puVar11 + uVar9);\n      iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n      uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);\n      iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (iVar13 != 0) {\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }\n      uVar14 = uVar14 + 1;\n      iVar12 = iVar12 + 0x14;\n    } while (uVar14 != uVar8);" 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      uVar9 = (this->input_reader_).info_offset_;\n      puVar11 = ((this->input_reader_).inputs_)->p_;\n      uVar3 = *(uint *)(puVar11 + uVar9);\n      iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n      uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);\n      iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n      if (iVar13 != 0) {\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }\n      uVar14 = uVar14 + 1;\n      iVar12 = iVar12 + 0x14;\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 "uVar9 = (this->input_reader_).info_offset_;" (assignment_expression "uVar9 = (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 "uVar3 = *(uint *)(puVar11 + uVar9);" (assignment_expression "uVar3 = *(uint *)(puVar11 + uVar9)" identifier = (pointer_expression "*(uint *)(puVar11 + uVar9)" * (cast_expression "(uint *)(puVar11 + uVar9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + uVar9)" ( (binary_expression "puVar11 + uVar9" identifier + identifier) ))))) ;) (expression_statement "iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;" (assignment_expression "iVar4 = uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" identifier = (binary_expression "uVar9 + 0x20 + iVar12 +\n              ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "uVar9 + 0x20 + iVar12" (binary_expression "uVar9 + 0x20" identifier + number_literal) + identifier) + (binary_expression "((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (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)) )) * number_literal))) ;) (expression_statement "uVar3 = *(uint *)(puVar11 + iVar4 + 0xc);" (assignment_expression "uVar3 = *(uint *)(puVar11 + iVar4 + 0xc)" identifier = (pointer_expression "*(uint *)(puVar11 + iVar4 + 0xc)" * (cast_expression "(uint *)(puVar11 + iVar4 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar4 + 0xc)" ( (binary_expression "puVar11 + iVar4 + 0xc" (binary_expression "puVar11 + iVar4" identifier + identifier) + number_literal) ))))) ;) (expression_statement "iVar13 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar13 = (((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 (iVar13 != 0) {\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }\n        this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;\n        iVar4 = 0;\n        do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);\n      }" { (if_statement "if (this->incr_reloc_offset_ == 0xffffffff) {\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }" if (parenthesized_expression "(this->incr_reloc_offset_ == 0xffffffff)" ( (binary_expression "this->incr_reloc_offset_ == 0xffffffff" (field_expression "this->incr_reloc_offset_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);\n          this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        }" { (expression_statement "uVar3 = *(uint *)(puVar11 + iVar4 + 0x10);" (assignment_expression "uVar3 = *(uint *)(puVar11 + iVar4 + 0x10)" identifier = (pointer_expression "*(uint *)(puVar11 + iVar4 + 0x10)" * (cast_expression "(uint *)(puVar11 + iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar11 + iVar4 + 0x10)" ( (binary_expression "puVar11 + iVar4 + 0x10" (binary_expression "puVar11 + iVar4" identifier + identifier) + number_literal) ))))) ;) (expression_statement "this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "this->incr_reloc_offset_ =\n               (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (field_expression "this->incr_reloc_offset_" identifier -> field_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 "this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_;" (assignment_expression "this->incr_reloc_count_ = iVar13 + this->incr_reloc_count_" (field_expression "this->incr_reloc_count_" identifier -> field_identifier) = (binary_expression "iVar13 + this->incr_reloc_count_" identifier + (field_expression "this->incr_reloc_count_" identifier -> field_identifier))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        } while (iVar4 != iVar13);" do (compound_statement "{\n          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);\n          if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }\n          puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;\n          puVar5 = puVar2 + uVar14;\n          if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }\n          iVar4 = iVar4 + 1;\n          *puVar5 = *puVar5 + 1;\n        }" { (expression_statement "piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this);" (assignment_expression "piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this)" identifier = (cast_expression "(int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d]" * (subscript_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object[0x1d]" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.\n                            _vptr_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier ))))) ;) (if_statement "if ((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14) {\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }" if (parenthesized_expression "((uint)(piVar1[1] - *piVar1 >> 2) <= uVar14)" ( (binary_expression "(uint)(piVar1[1] - *piVar1 >> 2) <= uVar14" (call_expression "(uint)(piVar1[1] - *piVar1 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar1[1] - *piVar1 >> 2)" ( (binary_expression "piVar1[1] - *piVar1 >> 2" (binary_expression "piVar1[1] - *piVar1" (subscript_expression "piVar1[1]" identifier [ number_literal ]) - (pointer_expression "*piVar1" * identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n            iVar12 = 0x5f3;\nLAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);\n          }" { (expression_statement "iVar12 = 0x5f3;" (assignment_expression "iVar12 = 0x5f3" identifier = number_literal) ;) (labeled_statement "LAB_0018f09c:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);" statement_identifier : comment (expression_statement "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c);" (call_expression "do_gold_unreachable(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar12,\n                                PTR_s__s_004c1a50 + 0x231c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + 0x231c" identifier + number_literal) ))) ;)) })) (expression_statement "puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;" (assignment_expression "puVar2 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_" identifier = (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<64,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_false>)" ( (comma_expression "this->super_Sized_relobj<64,_false" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (expression_statement "puVar5 = puVar2 + uVar14;" (assignment_expression "puVar5 = puVar2 + uVar14" identifier = (binary_expression "puVar2 + uVar14" identifier + identifier)) ;) (if_statement "if (puVar2 == (uint *)0x0) {\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }" if (parenthesized_expression "(puVar2 == (uint *)0x0)" ( (binary_expression "puVar2 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar12 = 0x5f4;\n            goto LAB_0018f09c;\n          }" { (expression_statement "iVar12 = 0x5f4;" (assignment_expression "iVar12 = 0x5f4" identifier = number_literal) ;) (goto_statement "goto LAB_0018f09c;" goto statement_identifier ;) })) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = *puVar5 + 1;" (assignment_expression "*puVar5 = *puVar5 + 1" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 + 1" (pointer_expression "*puVar5" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar13)" ( (binary_expression "iVar4 != iVar13" identifier != identifier) )) ;) })) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "iVar12 = iVar12 + 0x14;" (assignment_expression "iVar12 = iVar12 + 0x14" identifier = (binary_expression "iVar12 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar14 != uVar8)" ( (binary_expression "uVar14 != uVar8" identifier != identifier) )) ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58" identifier = identifier) ;) (expression_statement "this->incr_reloc_output_index_ = layout->incremental_inputs_->reloc_count_;" (assignment_expression "this->incr_reloc_output_index_ = layout->incremental_inputs_->reloc_count_" (field_expression "this->incr_reloc_output_index_" identifier -> field_identifier) = (field_expression "layout->incremental_inputs_->reloc_count_" (field_expression "layout->incremental_inputs_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "(*(code *)UNRECOVERED_JUMPTABLE)(this,layout,0);" (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(this,layout,0)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,layout,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (this->incr_reloc_count_ != 0) {\n    pSVar15 = this->ibase_;\n    iVar12 = this->incr_reloc_count_ * 0x18;\n    puVar11 = (uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12);\n    UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n    this->incr_relocs_ = puVar11;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)UNRECOVERED_JUMPTABLE)\n              (puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12);\n    return;\n  }" if (parenthesized_expression "(this->incr_reloc_count_ != 0)" ( (binary_expression "this->incr_reloc_count_ != 0" (field_expression "this->incr_reloc_count_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    pSVar15 = this->ibase_;\n    iVar12 = this->incr_reloc_count_ * 0x18;\n    puVar11 = (uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12);\n    UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n    this->incr_relocs_ = puVar11;\n                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n    (*(code *)UNRECOVERED_JUMPTABLE)\n              (puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12);\n    return;\n  }" { (expression_statement "pSVar15 = this->ibase_;" (assignment_expression "pSVar15 = this->ibase_" identifier = (field_expression "this->ibase_" identifier -> field_identifier)) ;) (expression_statement "iVar12 = this->incr_reloc_count_ * 0x18;" (assignment_expression "iVar12 = this->incr_reloc_count_ * 0x18" identifier = (binary_expression "this->incr_reloc_count_ * 0x18" (field_expression "this->incr_reloc_count_" identifier -> field_identifier) * number_literal)) ;) (expression_statement "puVar11 = (uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12);" (assignment_expression "puVar11 = (uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12)" identifier = (cast_expression "(uchar *)(*(code *)PTR_operator_new___004c134c)(iVar12)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar12)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12)" ( identifier ))))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8" identifier = identifier) ;) (expression_statement "this->incr_relocs_ = puVar11;" (assignment_expression "this->incr_relocs_ = puVar11" (field_expression "this->incr_relocs_" identifier -> field_identifier) = identifier) ;) comment comment (expression_statement "(*(code *)UNRECOVERED_JUMPTABLE)\n              (puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12);" (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)\n              (puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,iVar12)" ( identifier , (binary_expression "(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_" (field_expression "(pSVar15->relocs_reader_).p_" (parenthesized_expression "(pSVar15->relocs_reader_)" ( (field_expression "pSVar15->relocs_reader_" identifier -> field_identifier) )) . field_identifier) + (field_expression "this->incr_reloc_offset_" identifier -> field_identifier)) , identifier ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "uint FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)\n\n{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}\n\n" (function_definition "uint FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)\n\n{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}" type_identifier (function_declarator "FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)" identifier (parameter_list "(uint *param_1,undefined4 param_2,int param_3)" ( (parameter_declaration "uint *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "int iStack_58;" primitive_type identifier ;) (declaration "int iStack_54;" primitive_type identifier ;) (declaration "int iStack_4c;" primitive_type identifier ;) (if_statement "if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)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 *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4))" ( (binary_expression "(1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)" (parenthesized_expression "(1 < *(byte *)((int)param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)((int)param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)((int)param_1 + 0x9f) - 1" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" * (cast_expression "(byte *)((int)param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x9f)" ( (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) - number_literal)) )) && (parenthesized_expression "(*(byte *)((int)param_1 + 0x9f) != 4)" ( (binary_expression "*(byte *)((int)param_1 + 0x9f) != 4" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" * (cast_expression "(byte *)((int)param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x9f)" ( (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) 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 "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);" (assignment_expression "uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" identifier = (pointer_expression "*(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" * (cast_expression "(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x26] + param_1[0x29] + 4)" ( (binary_expression "*(int *)param_1[0x26] + param_1[0x29] + 4" (binary_expression "*(int *)param_1[0x26] + param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" * (cast_expression "(int *)param_1[0x26]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) + number_literal) ))))) ;) (expression_statement "puVar6 = param_1;" (assignment_expression "puVar6 = param_1" identifier = identifier) ;) (expression_statement "piVar2 = (int *)(**(code **)(uVar7 + 0x74))();" (assignment_expression "piVar2 = (int *)(**(code **)(uVar7 + 0x74))()" identifier = (cast_expression "(int *)(**(code **)(uVar7 + 0x74))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(uVar7 + 0x74))()" (parenthesized_expression "(**(code **)(uVar7 + 0x74))" ( (pointer_expression "**(code **)(uVar7 + 0x74)" * (pointer_expression "*(code **)(uVar7 + 0x74)" * (cast_expression "(code **)(uVar7 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar7 + 0x74)" ( (binary_expression "uVar7 + 0x74" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar8 = piVar2[1] - *piVar2;" (assignment_expression "iVar8 = piVar2[1] - *piVar2" identifier = (binary_expression "piVar2[1] - *piVar2" (subscript_expression "piVar2[1]" identifier [ number_literal ]) - (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar10 = (((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))) ;) (if_statement "if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }" if (parenthesized_expression "(-1 < iVar8)" ( (binary_expression "-1 < iVar8" number_literal < identifier) )) (compound_statement "{\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }" { (expression_statement "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar8)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "param_1[0x16] = uVar7;" (assignment_expression "param_1[0x16] = uVar7" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = identifier) ;) (expression_statement "(*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);" (call_expression "(*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" ( (pointer_expression "*(code *)PTR_memset_004c5c68" * (cast_expression "(code *)PTR_memset_004c5c68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,0,iVar8)" ( identifier , number_literal , identifier ))) ;) (if_statement "if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (do_statement "do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);" do (compound_statement "{\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      }" { (if_statement "if (1 < *(byte *)((int)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 *)((int)param_1 + 0x9f) - 1)" ( (binary_expression "1 < *(byte *)((int)param_1 + 0x9f) - 1" number_literal < (binary_expression "*(byte *)((int)param_1 + 0x9f) - 1" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" * (cast_expression "(byte *)((int)param_1 + 0x9f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x9f)" ( (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) 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 "uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);" (assignment_expression "uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29])" identifier = (pointer_expression "*(uint *)(*(int *)param_1[0x26] + param_1[0x29])" * (cast_expression "(uint *)(*(int *)param_1[0x26] + param_1[0x29])" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x26] + param_1[0x29])" ( (binary_expression "*(int *)param_1[0x26] + param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" * (cast_expression "(int *)param_1[0x26]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) ))))) ;) (expression_statement "iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;" (assignment_expression "iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" identifier = (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" * (cast_expression "(int *)param_1[0x26]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x26]" identifier [ number_literal ]))) + (subscript_expression "param_1[0x29]" identifier [ number_literal ])) + number_literal) + identifier) + (binary_expression "((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (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)) )) * number_literal))) ;) (expression_statement "uVar3 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar3 = *(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) ))))) ;) (expression_statement "iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((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 (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }" { (if_statement "if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }" if (parenthesized_expression "(param_1[0x33] == 0xffffffff)" ( (binary_expression "param_1[0x33] == 0xffffffff" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }" { (expression_statement "uVar3 = *(uint *)(iVar4 + 0x10);" (assignment_expression "uVar3 = *(uint *)(iVar4 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar4 + 0x10)" * (cast_expression "(uint *)(iVar4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x10)" ( (binary_expression "iVar4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (subscript_expression "param_1[0x33]" identifier [ number_literal ]) = (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 "param_1[0x34] = iVar9 + param_1[0x34];" (assignment_expression "param_1[0x34] = iVar9 + param_1[0x34]" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) = (binary_expression "iVar9 + param_1[0x34]" identifier + (subscript_expression "param_1[0x34]" identifier [ number_literal ]))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);" do (compound_statement "{\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          }" { (expression_statement "piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }" if (parenthesized_expression "((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7)" ( (binary_expression "(uint)(piVar2[1] - *piVar2 >> 2) <= uVar7" (call_expression "(uint)(piVar2[1] - *piVar2 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar2[1] - *piVar2 >> 2)" ( (binary_expression "piVar2[1] - *piVar2 >> 2" (binary_expression "piVar2[1] - *piVar2" (subscript_expression "piVar2[1]" identifier [ number_literal ]) - (pointer_expression "*piVar2" * identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }" { (expression_statement "iVar8 = 0x5f3;" (assignment_expression "iVar8 = 0x5f3" identifier = number_literal) ;) (labeled_statement "LAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" statement_identifier : (labeled_statement "gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" (call_expression "do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c)" identifier (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + 0x231c" identifier + number_literal) ))) ;))) })) (expression_statement "piVar2 = (int *)(param_1[0x16] + uVar7 * 4);" (assignment_expression "piVar2 = (int *)(param_1[0x16] + uVar7 * 4)" identifier = (cast_expression "(int *)(param_1[0x16] + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x16] + uVar7 * 4)" ( (binary_expression "param_1[0x16] + uVar7 * 4" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (if_statement "if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }" if (parenthesized_expression "(param_1[0x16] == 0)" ( (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }" { (expression_statement "iVar8 = 0x5f4;" (assignment_expression "iVar8 = 0x5f4" identifier = number_literal) ;) (goto_statement "goto LAB_0018f09c;" goto statement_identifier ;) })) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "*piVar2 = *piVar2 + 1;" (assignment_expression "*piVar2 = *piVar2 + 1" (pointer_expression "*piVar2" * identifier) = (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" * identifier) + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != iVar9)" ( (binary_expression "iVar4 != iVar9" identifier != identifier) )) ;) })) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar8 = iVar8 + 0x14;" (assignment_expression "iVar8 = iVar8 + 0x14" identifier = (binary_expression "iVar8 + 0x14" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar10)" ( (binary_expression "uVar7 != uVar10" identifier != identifier) )) ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58" identifier = identifier) ;) (expression_statement "param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);" (assignment_expression "param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" (subscript_expression "param_1[0x35]" identifier [ number_literal ]) = (pointer_expression "*(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" * (cast_expression "(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_3 + 0x1dc) + 0x44)" ( (binary_expression "*(int *)(param_3 + 0x1dc) + 0x44" (pointer_expression "*(int *)(param_3 + 0x1dc)" * (cast_expression "(int *)(param_3 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1dc)" ( (binary_expression "param_3 + 0x1dc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "(*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);" (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_3,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }" if (parenthesized_expression "(param_1[0x34] != 0)" ( (binary_expression "param_1[0x34] != 0" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }" { (expression_statement "uVar10 = param_1[0x24];" (assignment_expression "uVar10 = param_1[0x24]" identifier = (subscript_expression "param_1[0x24]" identifier [ number_literal ])) ;) (expression_statement "iVar8 = param_1[0x34] * 0x18;" (assignment_expression "iVar8 = param_1[0x34] * 0x18" identifier = (binary_expression "param_1[0x34] * 0x18" (subscript_expression "param_1[0x34]" identifier [ number_literal ]) * number_literal)) ;) (expression_statement "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8)" identifier = (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar8)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" ( (pointer_expression "*(code *)PTR_operator_new___004c134c" * (cast_expression "(code *)PTR_operator_new___004c134c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8" identifier = identifier) ;) (expression_statement "param_1[0x36] = uVar7;" (assignment_expression "param_1[0x36] = uVar7" (subscript_expression "param_1[0x36]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);" (assignment_expression "uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" identifier = (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" * (cast_expression "(code *)UNRECOVERED_JUMPTABLE" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" ( identifier , (binary_expression "*(int *)(uVar10 + 200) + param_1[0x33]" (pointer_expression "*(int *)(uVar10 + 200)" * (cast_expression "(int *)(uVar10 + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar10 + 200)" ( (binary_expression "uVar10 + 200" identifier + number_literal) )))) + (subscript_expression "param_1[0x33]" identifier [ number_literal ])) , identifier )))) ;) (return_statement "return uVar7;" return identifier ;) })) (return_statement "return 0;" return number_literal ;) })) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358" identifier = identifier) ;) (expression_statement "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();" (call_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)()" (parenthesized_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)" ( (pointer_expression "*(code *)PTR___cxa_throw_bad_array_new_length_004c1358" * (cast_expression "(code *)PTR___cxa_throw_bad_array_new_length_004c1358" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_4c = iVar8;" (assignment_expression "iStack_4c = iVar8" identifier = identifier) ;) (if_statement "if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }" if (parenthesized_expression "(puVar6[0x2c] <= uVar7)" ( (binary_expression "puVar6[0x2c] <= uVar7" (subscript_expression "puVar6[0x2c]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n                    \n    FUN_0018537c();\n  }" { (expression_statement "FUN_0018537c();" (call_expression "FUN_0018537c()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);" (assignment_expression "piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6)" identifier = (cast_expression "(int *)(**(code **)(*puVar6 + 0x28))(puVar6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*puVar6 + 0x28))(puVar6)" (parenthesized_expression "(**(code **)(*puVar6 + 0x28))" ( (pointer_expression "**(code **)(*puVar6 + 0x28)" * (pointer_expression "*(code **)(*puVar6 + 0x28)" * (cast_expression "(code **)(*puVar6 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*puVar6 + 0x28)" ( (binary_expression "*puVar6 + 0x28" (pointer_expression "*puVar6" * identifier) + number_literal) ))))) )) (argument_list "(puVar6)" ( identifier ))))) ;) (expression_statement "uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);" (assignment_expression "uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2)" identifier = (call_expression "(**(code **)(*piVar2 + 0x14))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0x14))" ( (pointer_expression "**(code **)(*piVar2 + 0x14)" * (pointer_expression "*(code **)(*piVar2 + 0x14)" * (cast_expression "(code **)(*piVar2 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar2 + 0x14)" ( (binary_expression "*piVar2 + 0x14" (pointer_expression "*piVar2" * identifier) + number_literal) ))))) )) (argument_list "(piVar2)" ( identifier )))) ;) (if_statement "if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }" if (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }" { (if_statement "if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }" if (parenthesized_expression "((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0))" ( (binary_expression "(uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)" (parenthesized_expression "(uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2))" ( (binary_expression "uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)" identifier <= (call_expression "(uint)((int)(puVar6[2] - puVar6[1]) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(puVar6[2] - puVar6[1]) >> 2)" ( (binary_expression "(int)(puVar6[2] - puVar6[1]) >> 2" (cast_expression "(int)(puVar6[2] - puVar6[1])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar6[2] - puVar6[1])" ( (binary_expression "puVar6[2] - puVar6[1]" (subscript_expression "puVar6[2]" identifier [ number_literal ]) - (subscript_expression "puVar6[1]" identifier [ number_literal ])) ))) >> number_literal) )))) )) && (parenthesized_expression "(pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)" ( (comma_expression "pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0" (assignment_expression "pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4)" identifier = (pointer_expression "*(char **)(puVar6[1] + (uVar10 - 1) * 4)" * (cast_expression "(char **)(puVar6[1] + (uVar10 - 1) * 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar6[1] + (uVar10 - 1) * 4)" ( (binary_expression "puVar6[1] + (uVar10 - 1) * 4" (subscript_expression "puVar6[1]" identifier [ number_literal ]) + (binary_expression "(uVar10 - 1) * 4" (parenthesized_expression "(uVar10 - 1)" ( (binary_expression "uVar10 - 1" identifier - number_literal) )) * number_literal)) ))))) , (binary_expression "pcVar5 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }" { (if_statement "if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }" if (parenthesized_expression "(*pcVar5 == '\0')" ( (binary_expression "*pcVar5 == '\0'" (pointer_expression "*pcVar5" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }" { (labeled_statement "gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" (call_expression "do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" identifier (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" ( (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) ))) ;)) })) (expression_statement "iVar8 = *(int *)(pcVar5 + 0x48);" (assignment_expression "iVar8 = *(int *)(pcVar5 + 0x48)" identifier = (pointer_expression "*(int *)(pcVar5 + 0x48)" * (cast_expression "(int *)(pcVar5 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar5 + 0x48)" ( (binary_expression "pcVar5 + 0x48" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }" { (if_statement "if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }" if (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0)" ( (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" * (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }" { (labeled_statement "gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" (call_expression "do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" identifier (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" ( (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x33219c)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x33219c" identifier + number_literal) )))) + number_literal) ))) , number_literal , (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" ( (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" * (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" identifier + number_literal) )))) + number_literal) ))) ))) ;)) })) (expression_statement "iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);" (assignment_expression "iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" identifier = (pointer_expression "*(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" * (cast_expression "(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" ( (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" * (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" ( (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" * (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" ( (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) ))))) ;) })) (if_statement "if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (compound_statement "{\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }" { (expression_statement "bVar1 = iVar8 == 2;" (assignment_expression "bVar1 = iVar8 == 2" identifier = (binary_expression "iVar8 == 2" identifier == number_literal)) ;) (goto_statement "goto LAB_0018f1c4;" goto statement_identifier ;) })) })) })) (expression_statement "uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);" (assignment_expression "uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" identifier = (pointer_expression "*(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" * (cast_expression "(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6[0x29] + uVar7 * 0x18 + 0x10)" ( (binary_expression "puVar6[0x29] + uVar7 * 0x18 + 0x10" (binary_expression "puVar6[0x29] + uVar7 * 0x18" (subscript_expression "puVar6[0x29]" identifier [ number_literal ]) + (binary_expression "uVar7 * 0x18" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }" if (parenthesized_expression "(uVar10 < puVar6[0x2b])" ( (binary_expression "uVar10 < puVar6[0x2b]" identifier < (subscript_expression "puVar6[0x2b]" identifier [ number_literal ])) )) (compound_statement "{\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }" { (expression_statement "pcVar5 = (char *)(puVar6[0x2a] + uVar10);" (assignment_expression "pcVar5 = (char *)(puVar6[0x2a] + uVar10)" identifier = (cast_expression "(char *)(puVar6[0x2a] + uVar10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6[0x2a] + uVar10)" ( (binary_expression "puVar6[0x2a] + uVar10" (subscript_expression "puVar6[0x2a]" identifier [ number_literal ]) + identifier) )))) ;) }) (else_clause "else {\n    pcVar5 = (char *)0x0;\n  }" else (compound_statement "{\n    pcVar5 = (char *)0x0;\n  }" { (expression_statement "pcVar5 = (char *)0x0;" (assignment_expression "pcVar5 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "iStack_58 = 0;" (assignment_expression "iStack_58 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;" (assignment_expression "iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18" identifier = (binary_expression "puVar6[0x29] + uVar7 * 0x18 + 0x18" (binary_expression "puVar6[0x29] + uVar7 * 0x18" (subscript_expression "puVar6[0x29]" identifier [ number_literal ]) + (binary_expression "uVar7 * 0x18" identifier * number_literal)) + number_literal)) ;) (expression_statement "iVar4 = *(int *)(iVar8 + 4);" (assignment_expression "iVar4 = *(int *)(iVar8 + 4)" identifier = (pointer_expression "*(int *)(iVar8 + 4)" * (cast_expression "(int *)(iVar8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 4)" ( (binary_expression "iVar8 + 4" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(iVar8 + 8);" (assignment_expression "iVar8 = *(int *)(iVar8 + 8)" identifier = (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) ;) (expression_statement "iStack_54 = 0;" (assignment_expression "iStack_54 = 0" identifier = number_literal) ;) (ERROR "uVar7 = gold::" (assignment_expression "uVar7 = gold" identifier = identifier) : :) (expression_statement "get_mtime(pcVar5,(Timespec *)&iStack_58);" (call_expression "get_mtime(pcVar5,(Timespec *)&iStack_58)" identifier (argument_list "(pcVar5,(Timespec *)&iStack_58)" ( identifier , (cast_expression "(Timespec *)&iStack_58" ( (type_descriptor "Timespec *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_58" & identifier)) ))) ;) (if_statement "if (uVar7 == 0) {\n    return 1;\n  }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n    return 1;\n  }" { (return_statement "return 1;" return number_literal ;) })) (if_statement "if (iVar4 < iStack_58) {\n    return uVar7;\n  }" if (parenthesized_expression "(iVar4 < iStack_58)" ( (binary_expression "iVar4 < iStack_58" identifier < identifier) )) (compound_statement "{\n    return uVar7;\n  }" { (return_statement "return uVar7;" return identifier ;) })) (if_statement "if (iStack_58 != iVar4) {\n    return 0;\n  }" if (parenthesized_expression "(iStack_58 != iVar4)" ( (binary_expression "iStack_58 != iVar4" identifier != identifier) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar1 = iVar8 < iStack_54;" (assignment_expression "bVar1 = iVar8 < iStack_54" identifier = (binary_expression "iVar8 < iStack_54" identifier < identifier)) ;) (labeled_statement "LAB_0018f1c4:\n  return (uint)bVar1;" statement_identifier : (return_statement "return (uint)bVar1;" return (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) ;)) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) - LIT)) )) && (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) ))) )) (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 = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + (subscript_expression IDENT [ LIT ])) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - (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))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_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 (cast_expression ( (type_descriptor TYPE) ) 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + (subscript_expression IDENT [ LIT ])) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + (subscript_expression IDENT [ LIT ])) + 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 * (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 (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 { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) ))) <= IDENT) )) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (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) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) * LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (subscript_expression IDENT [ LIT ])) , IDENT )))) ;) (return_statement return IDENT ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) ))) >> LIT) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (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) ))) , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ))) ;)) })) (expression_statement (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 { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (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) ))) , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ))) ;)) })) (expression_statement (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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (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 + 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 = LIT) ;) (ERROR (assignment_expression IDENT = IDENT) : :) (expression_statement (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (labeled_statement statement_identifier : (return_statement return (cast_expression ( (type_descriptor TYPE) ) IDENT) ;)) })))
(function_definition "uint FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)\n\n{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}" (type_identifier "uint") (function_declarator "FUN_0018edfc(uint *param_1,undefined4 param_2,int param_3)" (identifier "FUN_0018edfc") (parameter_list "(uint *param_1,undefined4 param_2,int param_3)" (( "(") (parameter_declaration "uint *param_1" (type_identifier "uint") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) () ")"))) (compound_statement "{\n  bool bVar1;\n  int *piVar2;\n  uint uVar3;\n  int iVar4;\n  char *pcVar5;\n  uint *puVar6;\n  uint uVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  undefined *UNRECOVERED_JUMPTABLE;\n  int iStack_58;\n  int iStack_54;\n  int iStack_4c;\n  \n  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {\n                    \n    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);\n  }\n  uVar7 = *param_1;\n  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);\n  puVar6 = param_1;\n  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();\n  iVar8 = piVar2[1] - *piVar2;\n  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;\n  if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }\n  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;\n  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();\n  iStack_4c = iVar8;\n  if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }\n  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);\n  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);\n  if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }\n  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);\n  if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }\n  iStack_58 = 0;\n  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;\n  iVar4 = *(int *)(iVar8 + 4);\n  iVar8 = *(int *)(iVar8 + 8);\n  iStack_54 = 0;\n  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);\n  if (uVar7 == 0) {\n    return 1;\n  }\n  if (iVar4 < iStack_58) {\n    return uVar7;\n  }\n  if (iStack_58 != iVar4) {\n    return 0;\n  }\n  bVar1 = iVar8 < iStack_54;\nLAB_0018f1c4:\n  return (uint)bVar1;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "char *pcVar5;" (primitive_type "char") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (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 "undefined *UNRECOVERED_JUMPTABLE;" (type_identifier "undefined") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "int iStack_58;" (primitive_type "int") (identifier "iStack_58") (; ";")) (declaration "int iStack_54;" (primitive_type "int") (identifier "iStack_54") (; ";")) (declaration "int iStack_4c;" (primitive_type "int") (identifier "iStack_4c") (; ";")) (if_statement "if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)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 *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4))" (( "(") (binary_expression "(1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)" (parenthesized_expression "(1 < *(byte *)((int)param_1 + 0x9f) - 1)" (( "(") (binary_expression "1 < *(byte *)((int)param_1 + 0x9f) - 1" (number_literal "1") (< "<") (binary_expression "*(byte *)((int)param_1 + 0x9f) - 1" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x9f)" (( "(") (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x9f")) () ")")))) (- "-") (number_literal "1"))) () ")")) (&& "&&") (parenthesized_expression "(*(byte *)((int)param_1 + 0x9f) != 4)" (( "(") (binary_expression "*(byte *)((int)param_1 + 0x9f) != 4" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x9f)" (( "(") (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (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 "uVar7 = *param_1;" (assignment_expression "uVar7 = *param_1" (identifier "uVar7") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);" (assignment_expression "uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" (* "*") (cast_expression "(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1[0x26] + param_1[0x29] + 4)" (( "(") (binary_expression "*(int *)param_1[0x26] + param_1[0x29] + 4" (binary_expression "*(int *)param_1[0x26] + param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" (* "*") (cast_expression "(int *)param_1[0x26]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")))) (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]"))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar6 = param_1;" (assignment_expression "puVar6 = param_1" (identifier "puVar6") (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar2 = (int *)(**(code **)(uVar7 + 0x74))();" (assignment_expression "piVar2 = (int *)(**(code **)(uVar7 + 0x74))()" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(uVar7 + 0x74))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(uVar7 + 0x74))()" (parenthesized_expression "(**(code **)(uVar7 + 0x74))" (( "(") (pointer_expression "**(code **)(uVar7 + 0x74)" (* "*") (pointer_expression "*(code **)(uVar7 + 0x74)" (* "*") (cast_expression "(code **)(uVar7 + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar7 + 0x74)" (( "(") (binary_expression "uVar7 + 0x74" (identifier "uVar7") (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar8 = piVar2[1] - *piVar2;" (assignment_expression "iVar8 = piVar2[1] - *piVar2" (identifier "iVar8") (= "=") (binary_expression "piVar2[1] - *piVar2" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (identifier "uVar10") (= "=") (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")))) (; ";")) (if_statement "if (-1 < iVar8) {\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }" (if "if") (parenthesized_expression "(-1 < iVar8)" (( "(") (binary_expression "-1 < iVar8" (number_literal "-1") (< "<") (identifier "iVar8")) () ")")) (compound_statement "{\n    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n    param_1[0x16] = uVar7;\n    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);\n    if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }\n    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;\n    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);\n    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);\n    if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }\n    return 0;\n  }" ({ "{") (expression_statement "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar8)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" (( "(") (pointer_expression "*(code *)PTR_operator_new___004c134c" (* "*") (cast_expression "(code *)PTR_operator_new___004c134c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new___004c134c"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "param_1[0x16] = uVar7;" (assignment_expression "param_1[0x16] = uVar7" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "(*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);" (call_expression "(*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8)" (parenthesized_expression "(*(code *)PTR_memset_004c5c68)" (( "(") (pointer_expression "*(code *)PTR_memset_004c5c68" (* "*") (cast_expression "(code *)PTR_memset_004c5c68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_004c5c68"))) () ")")) (argument_list "(uVar7,0,iVar8)" (( "(") (identifier "uVar7") (, ",") (number_literal "0") (, ",") (identifier "iVar8") () ")"))) (; ";")) (if_statement "if (uVar10 != 0) {\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar8 = 0;\n      uVar7 = 0;\n      do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);\n    }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      } while (uVar7 != uVar10);" (do "do") (compound_statement "{\n        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {\n                    \n          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);\n        }\n        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);\n        iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;\n        uVar3 = *(uint *)(iVar4 + 0xc);\n        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n        if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }\n        uVar7 = uVar7 + 1;\n        iVar8 = iVar8 + 0x14;\n      }" ({ "{") (if_statement "if (1 < *(byte *)((int)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 *)((int)param_1 + 0x9f) - 1)" (( "(") (binary_expression "1 < *(byte *)((int)param_1 + 0x9f) - 1" (number_literal "1") (< "<") (binary_expression "*(byte *)((int)param_1 + 0x9f) - 1" (pointer_expression "*(byte *)((int)param_1 + 0x9f)" (* "*") (cast_expression "(byte *)((int)param_1 + 0x9f)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x9f)" (( "(") (binary_expression "(int)param_1 + 0x9f" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (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 "uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);" (assignment_expression "uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29])" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(*(int *)param_1[0x26] + param_1[0x29])" (* "*") (cast_expression "(uint *)(*(int *)param_1[0x26] + param_1[0x29])" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1[0x26] + param_1[0x29])" (( "(") (binary_expression "*(int *)param_1[0x26] + param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" (* "*") (cast_expression "(int *)param_1[0x26]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")))) (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]"))) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;" (assignment_expression "iVar4 = *(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (identifier "iVar4") (= "=") (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8 +\n                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20 + iVar8" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29] + 0x20" (binary_expression "*(int *)param_1[0x26] +\n                param_1[0x29]" (pointer_expression "*(int *)param_1[0x26]" (* "*") (cast_expression "(int *)param_1[0x26]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x26]" (identifier "param_1") ([ "[") (number_literal "0x26") (] "]")))) (+ "+") (subscript_expression "param_1[0x29]" (identifier "param_1") ([ "[") (number_literal "0x29") (] "]"))) (+ "+") (number_literal "0x20")) (+ "+") (identifier "iVar8")) (+ "+") (binary_expression "((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18" (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 "uVar3") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (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 "uVar3") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")")) (* "*") (number_literal "0x18")))) (; ";")) (expression_statement "uVar3 = *(uint *)(iVar4 + 0xc);" (assignment_expression "uVar3 = *(uint *)(iVar4 + 0xc)" (identifier "uVar3") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (identifier "iVar9") (= "=") (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 "uVar3") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (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 "uVar3") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (iVar9 != 0) {\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }\n          param_1[0x34] = iVar9 + param_1[0x34];\n          iVar4 = 0;\n          do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);\n        }" ({ "{") (if_statement "if (param_1[0x33] == 0xffffffff) {\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }" (if "if") (parenthesized_expression "(param_1[0x33] == 0xffffffff)" (( "(") (binary_expression "param_1[0x33] == 0xffffffff" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            uVar3 = *(uint *)(iVar4 + 0x10);\n            param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;\n          }" ({ "{") (expression_statement "uVar3 = *(uint *)(iVar4 + 0x10);" (assignment_expression "uVar3 = *(uint *)(iVar4 + 0x10)" (identifier "uVar3") (= "=") (pointer_expression "*(uint *)(iVar4 + 0x10)" (* "*") (cast_expression "(uint *)(iVar4 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x10)" (( "(") (binary_expression "iVar4 + 0x10" (identifier "iVar4") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;" (assignment_expression "param_1[0x33] =\n                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000" (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]")) (= "=") (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 "uVar3") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 >> 0x18) << 0x10" (parenthesized_expression "(uVar3 >> 0x18)" (( "(") (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (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 "uVar3") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar3 >> 8 & 0xff" (binary_expression "uVar3 >> 8" (identifier "uVar3") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "param_1[0x34] = iVar9 + param_1[0x34];" (assignment_expression "param_1[0x34] = iVar9 + param_1[0x34]" (subscript_expression "param_1[0x34]" (identifier "param_1") ([ "[") (number_literal "0x34") (] "]")) (= "=") (binary_expression "iVar9 + param_1[0x34]" (identifier "iVar9") (+ "+") (subscript_expression "param_1[0x34]" (identifier "param_1") ([ "[") (number_literal "0x34") (] "]")))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          } while (iVar4 != iVar9);" (do "do") (compound_statement "{\n            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }\n            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);\n            if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }\n            iVar4 = iVar4 + 1;\n            *piVar2 = *piVar2 + 1;\n          }" ({ "{") (expression_statement "piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x74)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x74)" (* "*") (cast_expression "(code **)(*param_1 + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x74)" (( "(") (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }" (if "if") (parenthesized_expression "((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7)" (( "(") (binary_expression "(uint)(piVar2[1] - *piVar2 >> 2) <= uVar7" (call_expression "(uint)(piVar2[1] - *piVar2 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar2[1] - *piVar2 >> 2)" (( "(") (binary_expression "piVar2[1] - *piVar2 >> 2" (binary_expression "piVar2[1] - *piVar2" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar7")) () ")")) (compound_statement "{\n              iVar8 = 0x5f3;\nLAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);\n            }" ({ "{") (expression_statement "iVar8 = 0x5f3;" (assignment_expression "iVar8 = 0x5f3" (identifier "iVar8") (= "=") (number_literal "0x5f3")) (; ";")) (labeled_statement "LAB_0018f09c:\n                    \n              gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" (statement_identifier "LAB_0018f09c") (: ":") (labeled_statement "gold::do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c);" (call_expression "do_gold_unreachable\n                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c)" (identifier "do_gold_unreachable") (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,\n                         PTR_s__s_004c1a50 + 0x231c)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x4570")) (, ",") (identifier "iVar8") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x231c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x231c")) () ")"))) (; ";")))) (} "}"))) (expression_statement "piVar2 = (int *)(param_1[0x16] + uVar7 * 4);" (assignment_expression "piVar2 = (int *)(param_1[0x16] + uVar7 * 4)" (identifier "piVar2") (= "=") (cast_expression "(int *)(param_1[0x16] + uVar7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x16] + uVar7 * 4)" (( "(") (binary_expression "param_1[0x16] + uVar7 * 4" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (; ";")) (if_statement "if (param_1[0x16] == 0) {\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }" (if "if") (parenthesized_expression "(param_1[0x16] == 0)" (( "(") (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = 0x5f4;\n              goto LAB_0018f09c;\n            }" ({ "{") (expression_statement "iVar8 = 0x5f4;" (assignment_expression "iVar8 = 0x5f4" (identifier "iVar8") (= "=") (number_literal "0x5f4")) (; ";")) (goto_statement "goto LAB_0018f09c;" (goto "goto") (statement_identifier "LAB_0018f09c") (; ";")) (} "}"))) (expression_statement "iVar4 = iVar4 + 1;" (assignment_expression "iVar4 = iVar4 + 1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*piVar2 = *piVar2 + 1;" (assignment_expression "*piVar2 = *piVar2 + 1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "*piVar2 + 1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != iVar9)" (( "(") (binary_expression "iVar4 != iVar9" (identifier "iVar4") (!= "!=") (identifier "iVar9")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 1" (identifier "uVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar8 = iVar8 + 0x14;" (assignment_expression "iVar8 = iVar8 + 0x14" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 0x14" (identifier "iVar8") (+ "+") (number_literal "0x14"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar7 != uVar10)" (( "(") (binary_expression "uVar7 != uVar10" (identifier "uVar7") (!= "!=") (identifier "uVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (identifier "PTR_finalize_incremental_relocs_004c3a58")) (; ";")) (expression_statement "param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);" (assignment_expression "param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" (subscript_expression "param_1[0x35]" (identifier "param_1") ([ "[") (number_literal "0x35") (] "]")) (= "=") (pointer_expression "*(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" (* "*") (cast_expression "(uint *)(*(int *)(param_3 + 0x1dc) + 0x44)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_3 + 0x1dc) + 0x44)" (( "(") (binary_expression "*(int *)(param_3 + 0x1dc) + 0x44" (pointer_expression "*(int *)(param_3 + 0x1dc)" (* "*") (cast_expression "(int *)(param_3 + 0x1dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1dc)" (( "(") (binary_expression "param_3 + 0x1dc" (identifier "param_3") (+ "+") (number_literal "0x1dc")) () ")")))) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "(*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);" (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" (* "*") (cast_expression "(code *)UNRECOVERED_JUMPTABLE" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "UNRECOVERED_JUMPTABLE"))) () ")")) (argument_list "(param_1,param_3,0)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (param_1[0x34] != 0) {\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }" (if "if") (parenthesized_expression "(param_1[0x34] != 0)" (( "(") (binary_expression "param_1[0x34] != 0" (subscript_expression "param_1[0x34]" (identifier "param_1") ([ "[") (number_literal "0x34") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = param_1[0x24];\n      iVar8 = param_1[0x34] * 0x18;\n      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);\n      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;\n      param_1[0x36] = uVar7;\n                    \n                    \n      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);\n      return uVar7;\n    }" ({ "{") (expression_statement "uVar10 = param_1[0x24];" (assignment_expression "uVar10 = param_1[0x24]" (identifier "uVar10") (= "=") (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]"))) (; ";")) (expression_statement "iVar8 = param_1[0x34] * 0x18;" (assignment_expression "iVar8 = param_1[0x34] * 0x18" (identifier "iVar8") (= "=") (binary_expression "param_1[0x34] * 0x18" (subscript_expression "param_1[0x34]" (identifier "param_1") ([ "[") (number_literal "0x34") (] "]")) (* "*") (number_literal "0x18"))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);" (assignment_expression "uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_operator_new___004c134c)(iVar8)" (parenthesized_expression "(*(code *)PTR_operator_new___004c134c)" (( "(") (pointer_expression "*(code *)PTR_operator_new___004c134c" (* "*") (cast_expression "(code *)PTR_operator_new___004c134c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new___004c134c"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (identifier "PTR_memcpy_004c5ba8")) (; ";")) (expression_statement "param_1[0x36] = uVar7;" (assignment_expression "param_1[0x36] = uVar7" (subscript_expression "param_1[0x36]" (identifier "param_1") ([ "[") (number_literal "0x36") (] "]")) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);" (assignment_expression "uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" (identifier "uVar7") (= "=") (call_expression "(*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" (parenthesized_expression "(*(code *)UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*(code *)UNRECOVERED_JUMPTABLE" (* "*") (cast_expression "(code *)UNRECOVERED_JUMPTABLE" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "UNRECOVERED_JUMPTABLE"))) () ")")) (argument_list "(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8)" (( "(") (identifier "uVar7") (, ",") (binary_expression "*(int *)(uVar10 + 200) + param_1[0x33]" (pointer_expression "*(int *)(uVar10 + 200)" (* "*") (cast_expression "(int *)(uVar10 + 200)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar10 + 200)" (( "(") (binary_expression "uVar10 + 200" (identifier "uVar10") (+ "+") (number_literal "200")) () ")")))) (+ "+") (subscript_expression "param_1[0x33]" (identifier "param_1") ([ "[") (number_literal "0x33") (] "]"))) (, ",") (identifier "iVar8") () ")")))) (; ";")) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;" (assignment_expression "UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (identifier "PTR___cxa_throw_bad_array_new_length_004c1358")) (; ";")) (expression_statement "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();" (call_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)()" (parenthesized_expression "(*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)" (( "(") (pointer_expression "*(code *)PTR___cxa_throw_bad_array_new_length_004c1358" (* "*") (cast_expression "(code *)PTR___cxa_throw_bad_array_new_length_004c1358" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___cxa_throw_bad_array_new_length_004c1358"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iStack_4c = iVar8;" (assignment_expression "iStack_4c = iVar8" (identifier "iStack_4c") (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (puVar6[0x2c] <= uVar7) {\n                    \n    FUN_0018537c();\n  }" (if "if") (parenthesized_expression "(puVar6[0x2c] <= uVar7)" (( "(") (binary_expression "puVar6[0x2c] <= uVar7" (subscript_expression "puVar6[0x2c]" (identifier "puVar6") ([ "[") (number_literal "0x2c") (] "]")) (<= "<=") (identifier "uVar7")) () ")")) (compound_statement "{\n                    \n    FUN_0018537c();\n  }" ({ "{") (expression_statement "FUN_0018537c();" (call_expression "FUN_0018537c()" (identifier "FUN_0018537c") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);" (assignment_expression "piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6)" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(*puVar6 + 0x28))(puVar6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*puVar6 + 0x28))(puVar6)" (parenthesized_expression "(**(code **)(*puVar6 + 0x28))" (( "(") (pointer_expression "**(code **)(*puVar6 + 0x28)" (* "*") (pointer_expression "*(code **)(*puVar6 + 0x28)" (* "*") (cast_expression "(code **)(*puVar6 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*puVar6 + 0x28)" (( "(") (binary_expression "*puVar6 + 0x28" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))))) (; ";")) (expression_statement "uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);" (assignment_expression "uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2)" (identifier "uVar10") (= "=") (call_expression "(**(code **)(*piVar2 + 0x14))(piVar2)" (parenthesized_expression "(**(code **)(*piVar2 + 0x14))" (( "(") (pointer_expression "**(code **)(*piVar2 + 0x14)" (* "*") (pointer_expression "*(code **)(*piVar2 + 0x14)" (* "*") (cast_expression "(code **)(*piVar2 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar2 + 0x14)" (( "(") (binary_expression "*piVar2 + 0x14" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(piVar2)" (( "(") (identifier "piVar2") () ")")))) (; ";")) (if_statement "if (uVar10 != 0) {\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(uVar10 != 0)" (( "(") (binary_expression "uVar10 != 0" (identifier "uVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }\n  }" ({ "{") (if_statement "if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }" (if "if") (parenthesized_expression "((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0))" (( "(") (binary_expression "(uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&\n       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)" (parenthesized_expression "(uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2))" (( "(") (binary_expression "uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)" (identifier "uVar10") (<= "<=") (call_expression "(uint)((int)(puVar6[2] - puVar6[1]) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)(puVar6[2] - puVar6[1]) >> 2)" (( "(") (binary_expression "(int)(puVar6[2] - puVar6[1]) >> 2" (cast_expression "(int)(puVar6[2] - puVar6[1])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar6[2] - puVar6[1])" (( "(") (binary_expression "puVar6[2] - puVar6[1]" (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")) (- "-") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))) () ")"))) (>> ">>") (number_literal "2")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)" (( "(") (comma_expression "pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0" (assignment_expression "pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4)" (identifier "pcVar5") (= "=") (pointer_expression "*(char **)(puVar6[1] + (uVar10 - 1) * 4)" (* "*") (cast_expression "(char **)(puVar6[1] + (uVar10 - 1) * 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar6[1] + (uVar10 - 1) * 4)" (( "(") (binary_expression "puVar6[1] + (uVar10 - 1) * 4" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (+ "+") (binary_expression "(uVar10 - 1) * 4" (parenthesized_expression "(uVar10 - 1)" (( "(") (binary_expression "uVar10 - 1" (identifier "uVar10") (- "-") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "pcVar5 != (char *)0x0" (identifier "pcVar5") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }\n      iVar8 = *(int *)(pcVar5 + 0x48);\n      if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }\n      if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }\n    }" ({ "{") (if_statement "if (*pcVar5 == '\0') {\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }" (if "if") (parenthesized_expression "(*pcVar5 == '\0')" (( "(") (binary_expression "*pcVar5 == '\0'" (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n        gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));\n      }" ({ "{") (labeled_statement "gold::do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));" (call_expression "do_gold_unreachable\n                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" (identifier "do_gold_unreachable") (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,\n                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c))" (( "(") (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x332970")) () ")")))) (+ "+") (number_literal "-0x1648")) () ")"))) (, ",") (number_literal "0x828") (, ",") (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x332970")) () ")")))) (+ "+") (number_literal "0x2b4c")) () ")"))) () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar8 = *(int *)(pcVar5 + 0x48);" (assignment_expression "iVar8 = *(int *)(pcVar5 + 0x48)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(pcVar5 + 0x48)" (* "*") (cast_expression "(int *)(pcVar5 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar5 + 0x48)" (( "(") (binary_expression "pcVar5 + 0x48" (identifier "pcVar5") (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (iVar8 == 0) {\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }\n        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);\n      }" ({ "{") (if_statement "if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }" (if "if") (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0)" (( "(") (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" (* "*") (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" (( "(") (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" (* "*") (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" (* "*") (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x3328d4")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));\n        }" ({ "{") (labeled_statement "gold::do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));" (call_expression "do_gold_unreachable\n                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" (identifier "do_gold_unreachable") (argument_list "((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,\n                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624))" (( "(") (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x33219c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x33219c)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x33219c" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x33219c")) () ")")))) (+ "+") (number_literal "-0x9b8")) () ")"))) (, ",") (number_literal "0x5c") (, ",") (cast_expression "(char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624)" (( "(") (binary_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624" (pointer_expression "*(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" (* "*") (cast_expression "(int *)(UNRECOVERED_JUMPTABLE + 0x332970)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x332970)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x332970" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x332970")) () ")")))) (+ "+") (number_literal "0x2624")) () ")"))) () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);" (assignment_expression "iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" (* "*") (cast_expression "(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28)" (( "(") (binary_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28" (pointer_expression "*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" (* "*") (cast_expression "(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8)" (( "(") (binary_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8" (pointer_expression "**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" (* "*") (pointer_expression "*(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" (* "*") (cast_expression "(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(UNRECOVERED_JUMPTABLE + 0x3328d4)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE + 0x3328d4" (identifier "UNRECOVERED_JUMPTABLE") (+ "+") (number_literal "0x3328d4")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x5a28")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (iVar8 != 1) {\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }" (if "if") (parenthesized_expression "(iVar8 != 1)" (( "(") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        bVar1 = iVar8 == 2;\n        goto LAB_0018f1c4;\n      }" ({ "{") (expression_statement "bVar1 = iVar8 == 2;" (assignment_expression "bVar1 = iVar8 == 2" (identifier "bVar1") (= "=") (binary_expression "iVar8 == 2" (identifier "iVar8") (== "==") (number_literal "2"))) (; ";")) (goto_statement "goto LAB_0018f1c4;" (goto "goto") (statement_identifier "LAB_0018f1c4") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);" (assignment_expression "uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" (* "*") (cast_expression "(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6[0x29] + uVar7 * 0x18 + 0x10)" (( "(") (binary_expression "puVar6[0x29] + uVar7 * 0x18 + 0x10" (binary_expression "puVar6[0x29] + uVar7 * 0x18" (subscript_expression "puVar6[0x29]" (identifier "puVar6") ([ "[") (number_literal "0x29") (] "]")) (+ "+") (binary_expression "uVar7 * 0x18" (identifier "uVar7") (* "*") (number_literal "0x18"))) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (uVar10 < puVar6[0x2b]) {\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }\n  else {\n    pcVar5 = (char *)0x0;\n  }" (if "if") (parenthesized_expression "(uVar10 < puVar6[0x2b])" (( "(") (binary_expression "uVar10 < puVar6[0x2b]" (identifier "uVar10") (< "<") (subscript_expression "puVar6[0x2b]" (identifier "puVar6") ([ "[") (number_literal "0x2b") (] "]"))) () ")")) (compound_statement "{\n    pcVar5 = (char *)(puVar6[0x2a] + uVar10);\n  }" ({ "{") (expression_statement "pcVar5 = (char *)(puVar6[0x2a] + uVar10);" (assignment_expression "pcVar5 = (char *)(puVar6[0x2a] + uVar10)" (identifier "pcVar5") (= "=") (cast_expression "(char *)(puVar6[0x2a] + uVar10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6[0x2a] + uVar10)" (( "(") (binary_expression "puVar6[0x2a] + uVar10" (subscript_expression "puVar6[0x2a]" (identifier "puVar6") ([ "[") (number_literal "0x2a") (] "]")) (+ "+") (identifier "uVar10")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    pcVar5 = (char *)0x0;\n  }" (else "else") (compound_statement "{\n    pcVar5 = (char *)0x0;\n  }" ({ "{") (expression_statement "pcVar5 = (char *)0x0;" (assignment_expression "pcVar5 = (char *)0x0" (identifier "pcVar5") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "iStack_58 = 0;" (assignment_expression "iStack_58 = 0" (identifier "iStack_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;" (assignment_expression "iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18" (identifier "iVar8") (= "=") (binary_expression "puVar6[0x29] + uVar7 * 0x18 + 0x18" (binary_expression "puVar6[0x29] + uVar7 * 0x18" (subscript_expression "puVar6[0x29]" (identifier "puVar6") ([ "[") (number_literal "0x29") (] "]")) (+ "+") (binary_expression "uVar7 * 0x18" (identifier "uVar7") (* "*") (number_literal "0x18"))) (+ "+") (number_literal "0x18"))) (; ";")) (expression_statement "iVar4 = *(int *)(iVar8 + 4);" (assignment_expression "iVar4 = *(int *)(iVar8 + 4)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(iVar8 + 4)" (* "*") (cast_expression "(int *)(iVar8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 4)" (( "(") (binary_expression "iVar8 + 4" (identifier "iVar8") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(iVar8 + 8);" (assignment_expression "iVar8 = *(int *)(iVar8 + 8)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iStack_54 = 0;" (assignment_expression "iStack_54 = 0" (identifier "iStack_54") (= "=") (number_literal "0")) (; ";")) (ERROR "uVar7 = gold::" (assignment_expression "uVar7 = gold" (identifier "uVar7") (= "=") (identifier "gold")) (: ":") (: ":")) (expression_statement "get_mtime(pcVar5,(Timespec *)&iStack_58);" (call_expression "get_mtime(pcVar5,(Timespec *)&iStack_58)" (identifier "get_mtime") (argument_list "(pcVar5,(Timespec *)&iStack_58)" (( "(") (identifier "pcVar5") (, ",") (cast_expression "(Timespec *)&iStack_58" (( "(") (type_descriptor "Timespec *" (type_identifier "Timespec") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&iStack_58" (& "&") (identifier "iStack_58"))) () ")"))) (; ";")) (if_statement "if (uVar7 == 0) {\n    return 1;\n  }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return 1;\n  }" ({ "{") (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (if_statement "if (iVar4 < iStack_58) {\n    return uVar7;\n  }" (if "if") (parenthesized_expression "(iVar4 < iStack_58)" (( "(") (binary_expression "iVar4 < iStack_58" (identifier "iVar4") (< "<") (identifier "iStack_58")) () ")")) (compound_statement "{\n    return uVar7;\n  }" ({ "{") (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}"))) (if_statement "if (iStack_58 != iVar4) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iStack_58 != iVar4)" (( "(") (binary_expression "iStack_58 != iVar4" (identifier "iStack_58") (!= "!=") (identifier "iVar4")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "bVar1 = iVar8 < iStack_54;" (assignment_expression "bVar1 = iVar8 < iStack_54" (identifier "bVar1") (= "=") (binary_expression "iVar8 < iStack_54" (identifier "iVar8") (< "<") (identifier "iStack_54"))) (; ";")) (labeled_statement "LAB_0018f1c4:\n  return (uint)bVar1;" (statement_identifier "LAB_0018f1c4") (: ":") (return_statement "return (uint)bVar1;" (return "return") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (; ";"))) (} "}")))

/* 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_scan_relocs(Sized_relobj_incr<64,_false> * this, Symbol_table *
   param_1, Layout * layout, Read_relocs_data * param_3) */

void __thiscall
gold::var_1<64,_false>::do_scan_relocs
          (var_1<64,_false> *this,Symbol_table *param_1,Layout *layout,
          Read_relocs_data *param_3)

{
  undefined3 extraout_var;
  int *piVar1;
  type_1 *var_23;
  type_1 var_19;
  int var_20;
  type_1 *puVar5;
  char *var_12;
  bool bVar7;
  type_1 var_3;
  var_1<64,_false> *this_00;
  type_1 var_18;
  type_2 var_11;
  type_3 **var_7;
  type_4 *var_17;
  int var_6;
  int var_21;
  type_1 var_14;
  var_2<64,_false> *pSVar15;
  type_5 *var_13;
  type_6 TStack_58;
  int iStack_4c;
  
  var_3 = (type_1)(byte)(this->input_reader_).flags_;
  if ((1 < var_3 - 1) && (var_3 != 4)) {
                    /* WARNING: Subroutine does not return */
    var_4(var_5 + 0xefc,0x388,var_5 + 0x1d20);
  }
  var_7 = (this->super_Sized_relobj<64,_false>).super_Relobj.super_Object._vptr_Object;
  var_3 = *(type_1 *)(((this->input_reader_).inputs_)->p_ + (this->input_reader_).info_offset_ + 4);
  this_00 = this;
  piVar1 = (int *)(*var_7[0x1d])();
  var_6 = piVar1[1] - *piVar1;
  var_3 = (((var_3 >> 0x10) << 0x18 | (var_3 >> 0x18) << 0x10) >> 0x10) +
          ((var_3 & 0xff) << 8 | var_3 >> 8 & 0xff) * 0x10000;
  if (var_6 < 0) {
    var_13 = PTR___cxa_throw_bad_array_new_length_004c1358;
    (*(type_7 *)PTR___cxa_throw_bad_array_new_length_004c1358)();
    iStack_4c = var_6;
    if ((type_3 **)this_00->local_symbol_index_ <= var_7) {
                    /* WARNING: Subroutine does not return */
      var_8<32,var_9>::var_10
                ((var_8<32,var_9> *)this_00,(type_1)var_7);
    }
    piVar1 = (int *)(*(this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                      _vptr_Object[10])(this_00);
    var_3 = (**(type_7 **)(*piVar1 + 0x14))(piVar1);
    if (var_3 != 0) {
      var_11 = (this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.name_._M_dataplus
                ._M_p;
      if ((var_3 <= (type_1)((int)((this_00->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                                 name_._M_string_length - (int)var_11) >> 2)) &&
         (var_12 = *(char **)(var_11 + (var_3 - 1) * 4), var_12 != (char *)0x0)) {
        if (*var_12 == '\0') {
                    /* WARNING: Subroutine does not return */
          var_4((char *)(*(int *)(var_13 + 0x332970) + -0x1648),0x828,
                              (char *)(*(int *)(var_13 + 0x332970) + 0x2b4c));
        }
        var_6 = *(int *)(var_12 + 0x48);
        if (var_6 == 0) {
          if (*(int *)(**(int **)(var_13 + 0x3328d4) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
            var_4((char *)(*(int *)(var_13 + 0x33219c) + -0x9b8),0x5c,
                                (char *)(*(int *)(var_13 + 0x332970) + 0x2624));
          }
          var_6 = *(int *)(*(int *)(**(int **)(var_13 + 0x3328d4) + 8) + 0x5a28);
        }
        if (var_6 != 1) {
          return;
        }
      }
    }
    var_3 = (this_00->input_reader_).info_offset_;
    var_14 = *(type_1 *)(var_3 + (int)var_7 * 0x18 + 0x10);
    if (var_14 < this_00->output_local_dynsym_count_) {
      var_12 = (char *)(this_00->local_symbol_count_ + var_14);
    }
    else {
      var_12 = (char *)0x0;
    }
    TStack_58.seconds = 0;
    var_6 = *(int *)(var_3 + (int)var_7 * 0x18 + 0x1c);
    TStack_58.nanoseconds = 0;
    bVar7 = var_15(var_12,&TStack_58);
    if (var_16(extraout_var,bVar7) != 0) {
      if ((TStack_58.seconds <= var_6) && (TStack_58.seconds != var_6)) {
        return;
      }
      return;
    }
    return;
  }
  var_23 = (type_1 *)(*(type_7 *)PTR_operator_new___004c134c)(var_6);
  (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_ = var_23;
  (*(type_7 *)PTR_memset_004c5c68)(var_23,0,var_6);
  if (var_3 != 0) {
    var_6 = 0;
    var_14 = 0;
    do {
      if (1 < (byte)(this->input_reader_).flags_ - 1) {
                    /* WARNING: Subroutine does not return */
        var_4(var_5 + 0xefc,0x414,var_5 + 0x1bd4);
      }
      var_18 = (this->input_reader_).info_offset_;
      var_17 = ((this->input_reader_).inputs_)->p_;
      var_19 = *(type_1 *)(var_17 + var_18);
      var_20 = var_18 + 0x20 + var_6 +
              ((((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
              ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000) * 0x18;
      var_19 = *(type_1 *)(var_17 + var_20 + 0xc);
      var_21 = (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
               ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
      if (var_21 != 0) {
        if (this->incr_reloc_offset_ == 0xffffffff) {
          var_19 = *(type_1 *)(var_17 + var_20 + 0x10);
          this->incr_reloc_offset_ =
               (((var_19 >> 0x10) << 0x18 | (var_19 >> 0x18) << 0x10) >> 0x10) +
               ((var_19 & 0xff) << 8 | var_19 >> 8 & 0xff) * 0x10000;
        }
        this->incr_reloc_count_ = var_21 + this->incr_reloc_count_;
        var_20 = 0;
        do {
          piVar1 = (int *)(*(this->super_Sized_relobj<64,_false>).super_Relobj.super_Object.
                            _vptr_Object[0x1d])(this);
          if ((type_1)(piVar1[1] - *piVar1 >> 2) <= var_14) {
            var_6 = 0x5f3;
LAB_0018f09c:
                    /* WARNING: Subroutine does not return */
            var_4(var_22 + 0x4570,var_6,
                                var_5 + 0x231c);
          }
          var_23 = (this->super_Sized_relobj<64,_false>).super_Relobj.reloc_counts_;
          puVar5 = var_23 + var_14;
          if (var_23 == (type_1 *)0x0) {
            var_6 = 0x5f4;
            goto LAB_0018f09c;
          }
          var_20 = var_20 + 1;
          *puVar5 = *puVar5 + 1;
        } while (var_20 != var_21);
      }
      var_14 = var_14 + 1;
      var_6 = var_6 + 0x14;
    } while (var_14 != var_3);
  }
  var_13 = PTR_finalize_incremental_relocs_004c3a58;
  this->incr_reloc_output_index_ = layout->incremental_inputs_->reloc_count_;
  (*(type_7 *)var_13)(this,layout,0);
  if (this->incr_reloc_count_ != 0) {
    pSVar15 = this->ibase_;
    var_6 = this->incr_reloc_count_ * 0x18;
    var_17 = (type_4 *)(*(type_7 *)PTR_operator_new___004c134c)(var_6);
    var_13 = PTR_memcpy_004c5ba8;
    this->incr_relocs_ = var_17;
                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */
                    /* WARNING: Treating indirect jump as call */
    (*(type_7 *)var_13)
              (var_17,(pSVar15->relocs_reader_).p_ + this->incr_reloc_offset_,var_6);
    return;
  }
  return;
}


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

uint MASKED(uint *param_1,undefined4 param_2,int param_3)

{
  bool bVar1;
  int *piVar2;
  uint uVar3;
  int iVar4;
  char *pcVar5;
  uint *puVar6;
  uint uVar7;
  int iVar8;
  int iVar9;
  uint uVar10;
  undefined *UNRECOVERED_JUMPTABLE;
  int iStack_58;
  int iStack_54;
  int iStack_4c;
  
  if ((1 < *(byte *)((int)param_1 + 0x9f) - 1) && (*(byte *)((int)param_1 + 0x9f) != 4)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x388,PTR_s__s_004c1a50 + 0x1d20);
  }
  uVar7 = *param_1;
  uVar10 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29] + 4);
  puVar6 = param_1;
  piVar2 = (int *)(**(code **)(uVar7 + 0x74))();
  iVar8 = piVar2[1] - *piVar2;
  uVar10 = (((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000;
  if (-1 < iVar8) {
    uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);
    param_1[0x16] = uVar7;
    (*(code *)PTR_memset_004c5c68)(uVar7,0,iVar8);
    if (uVar10 != 0) {
      iVar8 = 0;
      uVar7 = 0;
      do {
        if (1 < *(byte *)((int)param_1 + 0x9f) - 1) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable(PTR_s__s_004c1a50 + 0xefc,0x414,PTR_s__s_004c1a50 + 0x1bd4);
        }
        uVar3 = *(uint *)(*(int *)param_1[0x26] + param_1[0x29]);
        iVar4 = *(int *)param_1[0x26] +
                param_1[0x29] + 0x20 + iVar8 +
                ((((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000) * 0x18;
        uVar3 = *(uint *)(iVar4 + 0xc);
        iVar9 = (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
        if (iVar9 != 0) {
          if (param_1[0x33] == 0xffffffff) {
            uVar3 = *(uint *)(iVar4 + 0x10);
            param_1[0x33] =
                 (((uVar3 >> 0x10) << 0x18 | (uVar3 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar3 & 0xff) << 8 | uVar3 >> 8 & 0xff) * 0x10000;
          }
          param_1[0x34] = iVar9 + param_1[0x34];
          iVar4 = 0;
          do {
            piVar2 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
            if ((uint)(piVar2[1] - *piVar2 >> 2) <= uVar7) {
              iVar8 = 0x5f3;
LAB_0018f09c:
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable
                        (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,iVar8,
                         PTR_s__s_004c1a50 + 0x231c);
            }
            piVar2 = (int *)(param_1[0x16] + uVar7 * 4);
            if (param_1[0x16] == 0) {
              iVar8 = 0x5f4;
              goto LAB_0018f09c;
            }
            iVar4 = iVar4 + 1;
            *piVar2 = *piVar2 + 1;
          } while (iVar4 != iVar9);
        }
        uVar7 = uVar7 + 1;
        iVar8 = iVar8 + 0x14;
      } while (uVar7 != uVar10);
    }
    UNRECOVERED_JUMPTABLE = PTR_finalize_incremental_relocs_004c3a58;
    param_1[0x35] = *(uint *)(*(int *)(param_3 + 0x1dc) + 0x44);
    (*(code *)UNRECOVERED_JUMPTABLE)(param_1,param_3,0);
    if (param_1[0x34] != 0) {
      uVar10 = param_1[0x24];
      iVar8 = param_1[0x34] * 0x18;
      uVar7 = (*(code *)PTR_operator_new___004c134c)(iVar8);
      UNRECOVERED_JUMPTABLE = PTR_memcpy_004c5ba8;
      param_1[0x36] = uVar7;
                    /* WARNING: Could not recover jumptable at 0x0018f090. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      uVar7 = (*(code *)UNRECOVERED_JUMPTABLE)(uVar7,*(int *)(uVar10 + 200) + param_1[0x33],iVar8);
      return uVar7;
    }
    return 0;
  }
  UNRECOVERED_JUMPTABLE = PTR___cxa_throw_bad_array_new_length_004c1358;
  (*(code *)PTR___cxa_throw_bad_array_new_length_004c1358)();
  iStack_4c = iVar8;
  if (puVar6[0x2c] <= uVar7) {
                    /* WARNING: Subroutine does not return */
    FUN_0018537c();
  }
  piVar2 = (int *)(**(code **)(*puVar6 + 0x28))(puVar6);
  uVar10 = (**(code **)(*piVar2 + 0x14))(piVar2);
  if (uVar10 != 0) {
    if ((uVar10 <= (uint)((int)(puVar6[2] - puVar6[1]) >> 2)) &&
       (pcVar5 = *(char **)(puVar6[1] + (uVar10 - 1) * 4), pcVar5 != (char *)0x0)) {
      if (*pcVar5 == '\0') {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable
                  ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + -0x1648),0x828,
                   (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2b4c));
      }
      iVar8 = *(int *)(pcVar5 + 0x48);
      if (iVar8 == 0) {
        if (*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable
                    ((char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x33219c) + -0x9b8),0x5c,
                     (char *)(*(int *)(UNRECOVERED_JUMPTABLE + 0x332970) + 0x2624));
        }
        iVar8 = *(int *)(*(int *)(**(int **)(UNRECOVERED_JUMPTABLE + 0x3328d4) + 8) + 0x5a28);
      }
      if (iVar8 != 1) {
        bVar1 = iVar8 == 2;
        goto LAB_0018f1c4;
      }
    }
  }
  uVar10 = *(uint *)(puVar6[0x29] + uVar7 * 0x18 + 0x10);
  if (uVar10 < puVar6[0x2b]) {
    pcVar5 = (char *)(puVar6[0x2a] + uVar10);
  }
  else {
    pcVar5 = (char *)0x0;
  }
  iStack_58 = 0;
  iVar8 = puVar6[0x29] + uVar7 * 0x18 + 0x18;
  iVar4 = *(int *)(iVar8 + 4);
  iVar8 = *(int *)(iVar8 + 8);
  iStack_54 = 0;
  uVar7 = gold::get_mtime(pcVar5,(Timespec *)&iStack_58);
  if (uVar7 == 0) {
    return 1;
  }
  if (iVar4 < iStack_58) {
    return uVar7;
  }
  if (iStack_58 != iVar4) {
    return 0;
  }
  bVar1 = iVar8 < iStack_54;
LAB_0018f1c4:
  return (uint)bVar1;
}

