
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Enum "STT": Some values do not have unique names */
/* DWARF original prototype: bool get_symbol_location_info(Sized_relobj_file<64,_true> * this, uint
   shndx, off_t offset, Symbol_location_info * info) */

bool __thiscall
gold::Sized_relobj_file<64,_true>::get_symbol_location_info
          (Sized_relobj_file<64,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)

{
  uint *puVar1;
  Elf_Word EVar2;
  uint uVar3;
  int iVar4;
  char cVar5;
  Symbol_location_info *pSVar6;
  Xindex *pXVar7;
  int *piVar8;
  Object *this_00;
  uint uVar9;
  undefined4 *puVar10;
  uint in_a3;
  int iVar11;
  code *pcVar12;
  _func_int_varargs *p_Var13;
  undefined *puVar14;
  uint uVar15;
  code *pcVar16;
  Location LStack_b0;
  Location LStack_a0;
  int iStack_90;
  int iStack_8c;
  Elf_Word EStack_88;
  uint *puStack_7c;
  int iStack_78;
  uint uStack_74;
  Symbol_location_info *pSStack_70;
  code *pcStack_6c;
  undefined4 local_58;
  section_size_type names_size;
  section_size_type symbols_size;
  uint local_40;
  undefined4 local_3c;
  code *local_38;
  int local_34;
  undefined *local_30;
  uint local_2c;
  
  if (this->symtab_shndx_ != 0) {
    local_2c = in_a3;
    puVar1 = (uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object
                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);
    p_Var13 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15];
    if (p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac) {
      EVar2 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link
                        (&this->elf_file_,this->symtab_shndx_);
    }
    else {
      EVar2 = (*p_Var13)(this);
    }
    if (0xfeff < EVar2) {
      local_40 = EVar2;
      (*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);
      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;
    }
    local_34 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])
                         (this,EVar2,&names_size,0);
    if (0x17 < symbols_size) {
      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;
      uVar15 = 0;
      local_30 = PTR_s__s_004c1a50 + 0x509c;
      do {
        while ((puVar1[1] & 0xf000000) == 0x4000000) {
          if (*puVar1 < names_size) {
            local_40 = local_34 + *puVar1;
            local_3c = *(undefined4 *)(offset._0_4_ + 4);
            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);
            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);
            goto LAB_001e1784;
          }
          uVar15 = uVar15 + 1;
          local_58 = 9;
          (*(code *)PTR__M_replace_004c20a0)
                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);
          puVar1 = puVar1 + 6;
          if (symbols_size / 0x18 <= uVar15) {
            return false;
          }
        }
        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);
        if (uVar3 < 0xff00) {
          if (shndx == uVar3) {
            pSVar6 = (Symbol_location_info *)puVar1[2];
LAB_001e17bc:
            uVar3 = puVar1[3];
            if ((int)pSVar6 <= (int)info) {
              if (pSVar6 == info) {
                if (local_2c < uVar3) goto LAB_001e1784;
                uVar9 = puVar1[5];
              }
              else {
                uVar9 = puVar1[5];
              }
              pSVar6 = (Symbol_location_info *)
                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +
                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);
              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {
                uVar15 = *puVar1;
                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;
                iVar11 = offset._0_4_ + 0x18;
                if (names_size < uVar15) {
                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);
                  return true;
                }
                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);
                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {
                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);
                  if ((cVar5 != '\0') &&
                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)
                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {
                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);
                    (*(code *)PTR_free_004c5c18)(iVar4);
                    return (bool)cVar5;
                  }
                  return true;
                }
                iVar4 = 0x5c;
                pcVar16 = get_symbol_name;
                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);
                puVar14 = PTR_do_gold_unreachable_004c1a30;
                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);
                if (piVar8[0x2d] == 0) {
                  return false;
                }
                pcVar12 = *(code **)(puVar14 + 0x2e2368);
                puStack_7c = puVar1;
                iStack_78 = iVar11;
                uStack_74 = shndx;
                pSStack_70 = info;
                pcStack_6c = pcVar16;
                if (*(code **)(*piVar8 + 0x38) == pcVar12) {
                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents
                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),
                             piVar8[0x2d]);
                  if (LStack_a0.data_size._0_4_ == 0) {
                    iStack_8c = LStack_a0.data_size._4_4_;
                    if (LStack_a0.data_size._4_4_ == 0) {
                      iVar11 = *(int *)(puVar14 + 0x2e0590);
                      goto LAB_001e1ab0;
                    }
                    this_00 = (Object *)piVar8[7];
                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;
                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);
                    pcVar16 = *(code **)(*piVar8 + 0x54);
                    uVar15 = piVar8[0x2d];
                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;
                    goto LAB_001e1ac4;
                  }
                }
                else {
                  iVar11 = (**(code **)(*piVar8 + 0x38))();
LAB_001e1ab0:
                  pcVar16 = *(code **)(*piVar8 + 0x54);
                  uVar15 = piVar8[0x2d];
                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {
LAB_001e1ac4:
                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link
                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);
                    if (uVar15 < 0xff00) goto LAB_001e1ae0;
LAB_001e1c10:
                    EStack_88 = uVar15;
                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);
                    uVar15 = EStack_88 + piVar8[0x2a];
                    pcVar16 = *(code **)(*piVar8 + 0x38);
                  }
                  else {
LAB_001e1bf8:
                    uVar15 = (*pcVar16)(piVar8);
                    if (0xfeff < uVar15) goto LAB_001e1c10;
LAB_001e1ae0:
                    pcVar16 = *(code **)(*piVar8 + 0x38);
                  }
                  if (pcVar16 != pcVar12) {
                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);
                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);
                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {
                      return false;
                    }
LAB_001e1b7c:
                    return (bool)(cVar5 + (char)*puVar10);
                  }
                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents
                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);
                  if (LStack_b0.data_size._0_4_ == 0) {
                    iStack_90 = LStack_b0.data_size._4_4_;
                    if (LStack_b0.data_size._4_4_ == 0) {
                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);
                    }
                    else {
                      this_00 = (Object *)piVar8[7];
                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;
                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);
                    }
                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);
                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {
                      return false;
                    }
                    goto LAB_001e1b7c;
                  }
                }
                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);
                (**(code **)(puVar14 + 0x2dfffc))
                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);
LAB_001e1cd8:
                    /* WARNING: Subroutine does not return */
                Object::input_file(this_00);
              }
            }
          }
        }
        else if (uVar3 == 0xffff) {
          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;
          if (pXVar7 == (Xindex *)0x0) {
            pXVar7 = (Xindex *)
                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object
                       [0x1b])(this);
            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;
          }
          uVar3 = (*local_38)(pXVar7,this,uVar15);
          if (shndx == uVar3) {
            pSVar6 = (Symbol_location_info *)puVar1[2];
            goto LAB_001e17bc;
          }
        }
LAB_001e1784:
        uVar15 = uVar15 + 1;
        puVar1 = puVar1 + 6;
      } while (uVar15 < symbols_size / 0x18);
    }
  }
  return false;
}



/* gold::Sized_relobj_file<64, true>::get_symbol_location_info(unsigned int, long long,
   gold::Symbol_location_info*) */

uint gold::Sized_relobj_file<64,true>::get_symbol_location_info
               (uint param_1,longlong param_2,Symbol_location_info *param_3)

{
  uint *puVar1;
  uint uVar2;
  Symbol_location_info *pSVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  uint uVar7;
  uint uVar8;
  uint in_a2;
  uint in_a3;
  int iVar9;
  uint local_48;
  uint local_44;
  uint local_40;
  undefined4 local_3c;
  code *local_38;
  int local_34;
  undefined *local_30;
  uint local_2c;
  
  if (*(int *)(param_1 + 0xb4) != 0) {
    local_2c = in_a3;
    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))
                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);
    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {
      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link
                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),
                         *(uint *)(param_1 + 0xb4));
    }
    else {
      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);
    }
    if (0xfeff < uVar2) {
      local_40 = uVar2;
      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);
      uVar2 = local_40 + *(int *)(param_1 + 0xa8);
    }
    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);
    if (0x17 < local_44) {
      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;
      uVar2 = 0;
      local_30 = PTR_s__s_004c1a50 + 0x509c;
      do {
        while ((puVar1[1] & 0xf000000) != 0x4000000) {
          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);
          if (pSVar3 < (Symbol_location_info *)0xff00) {
            if (param_3 == pSVar3) {
              uVar7 = puVar1[2];
LAB_001e17bc:
              uVar4 = puVar1[3];
              if ((int)uVar7 <= (int)in_a2) {
                if (uVar7 == in_a2) {
                  if (local_2c < uVar4) goto LAB_001e1784;
                  uVar8 = puVar1[5];
                }
                else {
                  uVar8 = puVar1[5];
                }
                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];
                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {
                  uVar2 = *puVar1;
                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;
                  iVar9 = param_2._0_4_ + 0x18;
                  if (local_48 < uVar2) {
                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);
                    return 1;
                  }
                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);
                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {
                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);
                    if ((uVar2 != 0) &&
                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)
                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {
                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);
                      (*(code *)PTR_free_004c5c18)(iVar6);
                      return uVar2;
                    }
                    return 1;
                  }
                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                                     PTR_s__s_004c1a50 + 0x61ac);
                  return uVar2;
                }
              }
            }
          }
          else if (pSVar3 == (Symbol_location_info *)0xffff) {
            iVar9 = *(int *)(param_1 + 0x30);
            if (iVar9 == 0) {
              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);
              *(int *)(param_1 + 0x30) = iVar9;
            }
            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);
            if (param_3 == pSVar3) {
              uVar7 = puVar1[2];
              goto LAB_001e17bc;
            }
          }
LAB_001e1784:
          uVar2 = uVar2 + 1;
          puVar1 = puVar1 + 6;
          if (local_44 / 0x18 <= uVar2) {
            return 0;
          }
        }
        if (*puVar1 < local_48) {
          local_40 = local_34 + *puVar1;
          local_3c = *(undefined4 *)(param_2._0_4_ + 4);
          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);
          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);
          goto LAB_001e1784;
        }
        uVar2 = uVar2 + 1;
        (*(code *)PTR__M_replace_004c20a0)
                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);
        puVar1 = puVar1 + 6;
        if (local_44 / 0x18 <= uVar2) {
          return 0;
        }
      } while( true );
    }
  }
  return 0;
}


lui gp,0x2e
addiu gp,gp,0x7bdc
addu gp,gp,t9
addiu sp,sp,-0x68
lw v0,0xb4(a0)
sw gp,0x18(sp)
sw s4,0x50(sp)
sw ra,0x64(sp)
sw s8,0x60(sp)
sw s7,0x5c(sp)
sw s6,0x58(sp)
sw s5,0x54(sp)
sw s3,0x4c(sp)
sw s2,0x48(sp)
sw s1,0x44(sp)
sw s0,0x40(sp)
beq v0,zero,0x001e18b4
_lw s4,0x78(sp)
lw v1,0x0(a0)
or s1,a0,zero
sw a3,0x3c(sp)
or s3,a2,zero
or a3,zero,zero
addiu a2,sp,0x24
lw t9,0x38(v1)
or s2,a1,zero
jalr t9
_or a1,v0,zero
lw gp,0x18(sp)
or s0,v0,zero
lw v1,0x0(s1)
lw v0,-0x5494(gp)
lw t9,0x54(v1)
bne t9,v0,0x001e19a8
_lw a1,0xb4(s1)
lw t9,-0x5490(gp)
bal 0x001e1544
_addiu a0,s1,0x90
lw gp,0x18(sp)
or a1,v0,zero
ori v1,zero,0xff00
sltu v1,a1,v1
beq v1,zero,0x001e1970
_lw t9,-0x7280(gp)
lw v0,0x0(s1)
or a3,zero,zero
addiu a2,sp,0x20
lw t9,0x38(v0)
jalr t9
_or a0,s1,zero
lui t0,0xaaaa
lw v1,0x24(sp)
ori t0,t0,0xaaab
lw gp,0x18(sp)
sw v0,0x34(sp)
multu v1,t0
sltiu v1,v1,0x18
mfhi t0
bne v1,zero,0x001e18b4
_srl s5,t0,0x4
lw v0,-0x7790(gp)
or s8,zero,zero
li s7,0x4
ori s6,zero,0xff00
sw v0,0x30(sp)
lw v0,-0x77f0(gp)
addiu v0,v0,0x509c
b 0x001e1790
_sw v0,0x38(sp)
beq v0,a0,0x001e18ec
_nop
addiu s8,s8,0x1
sltu v0,s8,s5
beq v0,zero,0x001e18b4
_addiu s0,s0,0x18
lbu v0,0x4(s0)
andi v0,v0,0xf
beq v0,s7,0x001e1874
_lw v0,0x20(sp)
lhu v0,0x6(s0)
sltu a0,v0,s6
beq a0,zero,0x001e1778
_ori a0,zero,0xffff
bne s2,v0,0x001e1780
_nop
lw a0,0x8(s0)
slt a1,s3,a0
bne a1,zero,0x001e1780
_lw v0,0xc(s0)
beq a0,s3,0x001e195c
_lw v1,0x3c(sp)
lw a1,0x14(s0)
lw a2,0x10(s0)
addu a1,v0,a1
addu a0,a0,a2
sltu v0,a1,v0
addu v0,v0,a0
slt a0,s3,v0
bne a0,zero,0x001e1814
_nop
bne v0,s3,0x001e1784
_addiu s8,s8,0x1
addiu s8,s8,-0x1
lw v0,0x3c(sp)
sltu a1,v0,a1
beq a1,zero,0x001e1784
_addiu s8,s8,0x1
addiu s8,s8,-0x1
lbu v0,0x4(s0)
lw a1,0x0(s0)
andi v0,v0,0xf
sw v0,0x30(s4)
lw v0,0x20(sp)
sltu v0,v0,a1
bne v0,zero,0x001e19fc
_addiu s1,s4,0x18
lw v0,0x34(sp)
or a0,s1,zero
lw t9,-0x54f0(gp)
jalr t9
_addu a1,v0,a1
lw gp,0x18(sp)
lw v0,-0x788c(gp)
lw v0,0x0(v0)
lw v0,0x8(v0)
beq v0,zero,0x001e1a1c
_lw a2,-0x77f0(gp)
lbu s0,0x5949(v0)
bne s0,zero,0x001e19bc
_lw t9,-0x6a34(gp)
b 0x001e18b8
_li s0,0x1
lw a3,0x0(s0)
sltu v0,a3,v0
bne v0,zero,0x001e1918
_lw a2,0x4(s4)
lw t9,-0x71a0(gp)
li v0,0x9
lw a3,0x38(sp)
or a1,zero,zero
addiu s8,s8,0x1
sw v0,0x10(sp)
jalr t9
_or a0,s4,zero
sltu v0,s8,s5
lw gp,0x18(sp)
bne v0,zero,0x001e1790
_addiu s0,s0,0x18
or s0,zero,zero
lw ra,0x64(sp)
or v0,s0,zero
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
lw a0,0x30(s1)
beq a0,zero,0x001e198c
_nop
lw t9,0x30(sp)
or a2,s8,zero
jalr t9
_or a1,s1,zero
bne s2,v0,0x001e1780
_lw gp,0x18(sp)
b 0x001e17bc
_lw a0,0x8(s0)
lw v0,0x34(sp)
lw t9,-0x36a4(gp)
sw a2,0x2c(sp)
addu a3,v0,a3
or a0,a3,zero
jalr t9
_sw a3,0x28(sp)
or a1,zero,zero
lw gp,0x18(sp)
or a0,s4,zero
lw a3,0x28(sp)
lw a2,0x2c(sp)
lw t9,-0x71a0(gp)
jalr t9
_sw v0,0x10(sp)
b 0x001e1780
_lw gp,0x18(sp)
sltu a1,v1,v0
bne a1,zero,0x001e1780
_nop
b 0x001e17d4
_lw a1,0x14(s0)
addiu a0,s1,0x90
jalr t9
_sw a1,0x28(sp)
lw v0,0xa8(s1)
lw a1,0x28(sp)
b 0x001e1714
_addu a1,a1,v0
lw v0,0x0(s1)
lw t9,0x6c(v0)
jalr t9
_or a0,s1,zero
or a0,v0,zero
b 0x001e18f8
_sw v0,0x30(s1)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
b 0x001e1704
_or a1,v0,zero
li a1,0x3
jalr t9
_lw a0,0x18(s4)
lw gp,0x18(sp)
beq v0,zero,0x001e186c
_or s2,v0,zero
lw t9,-0x54f0(gp)
or a0,s1,zero
jalr t9
_or a1,v0,zero
lw gp,0x18(sp)
lw t9,-0x3628(gp)
jalr t9
_or a0,s2,zero
b 0x001e18bc
_lw ra,0x64(sp)
lw a1,-0x77f0(gp)
or a0,s1,zero
lw t9,-0x54f0(gp)
li s0,0x1
jalr t9
_addiu a1,a1,0x509c
b 0x001e18bc
_lw ra,0x64(sp)
li a1,0x5c
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x61ac
jalr t9
_addiu a0,a0,-0x9b8
(translation_unit "/* gold::Sized_relobj_file<64, true>::get_symbol_location_info(unsigned int, long long,\n   gold::Symbol_location_info*) */\n\nuint gold::Sized_relobj_file<64,true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  Symbol_location_info *pSVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  uint in_a2;\n  uint in_a3;\n  int iVar9;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  code *local_38;\n  int local_34;\n  undefined *local_30;\n  uint local_2c;\n  \n  if (*(int *)(param_1 + 0xb4) != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }\n  return 0;\n}\n\n" comment (declaration "uint gold::Sized_relobj_file<64,true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint *puVar1;" type_identifier (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint" identifier > : : (function_declarator "get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)" identifier (parameter_list "(uint param_1,longlong param_2,Symbol_location_info *param_3)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "longlong param_2" type_identifier identifier) , (parameter_declaration "Symbol_location_info *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "Symbol_location_info *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint in_a2;" type_identifier identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0xb4) != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0xb4) != 0)" ( (binary_expression "*(int *)(param_1 + 0xb4) != 0" (pointer_expression "*(int *)(param_1 + 0xb4)" * (cast_expression "(int *)(param_1 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }" { (expression_statement "local_2c = in_a3;" (assignment_expression "local_2c = in_a3" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);" (assignment_expression "puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" identifier = (cast_expression "(uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" * (cast_expression "(code **)(*(int *)param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x38)" ( (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1,*(int *)(param_1 + 0xb4),&local_44,0)" ( identifier , (pointer_expression "*(int *)(param_1 + 0xb4)" * (cast_expression "(int *)(param_1 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) , (pointer_expression "&local_44" & identifier) , number_literal ))))) ;) (if_statement "if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" if (parenthesized_expression "(*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac)" ( (binary_expression "*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac" (pointer_expression "*(code **)(*(int *)param_1 + 0x54)" * (cast_expression "(code **)(*(int *)param_1 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x54)" ( (binary_expression "*(int *)param_1 + 0x54" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)PTR_do_section_link_004c3dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }" { (ERROR "uVar2 = elfcpp::Elf_file<64,true,gold::" (comma_expression "uVar2 = elfcpp::Elf_file<64,true,gold" (binary_expression "uVar2 = elfcpp::Elf_file<64" (assignment_expression "uVar2 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (expression_statement "Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier > (ERROR "::" : :) (call_expression "section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier (argument_list "((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" ( (call_expression "(Elf_file<64,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<64,true,gold::Object> *)" ( (ERROR "Elf_file<64,true,gold::" (comma_expression "Elf_file<64,true,gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) , (pointer_expression "*(uint *)(param_1 + 0xb4)" * (cast_expression "(uint *)(param_1 + 0xb4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) )))) ;) }) (else_clause "else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" else (compound_statement "{\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" { (expression_statement "uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);" (assignment_expression "uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1)" identifier = (call_expression "(**(code **)(*(int *)param_1 + 0x54))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x54))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x54)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x54)" * (cast_expression "(code **)(*(int *)param_1 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x54)" ( (binary_expression "*(int *)param_1 + 0x54" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) }))) (if_statement "if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }" if (parenthesized_expression "(0xfeff < uVar2)" ( (binary_expression "0xfeff < uVar2" number_literal < identifier) )) (compound_statement "{\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }" { (expression_statement "local_40 = uVar2;" (assignment_expression "local_40 = uVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fc0)" ( (pointer_expression "*(code *)PTR_initialize_shnum_004c1fc0" * (cast_expression "(code *)PTR_initialize_shnum_004c1fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) ;) (expression_statement "uVar2 = local_40 + *(int *)(param_1 + 0xa8);" (assignment_expression "uVar2 = local_40 + *(int *)(param_1 + 0xa8)" identifier = (binary_expression "local_40 + *(int *)(param_1 + 0xa8)" identifier + (pointer_expression "*(int *)(param_1 + 0xa8)" * (cast_expression "(int *)(param_1 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))))) ;) })) (expression_statement "local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);" (assignment_expression "local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" identifier = (call_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" * (cast_expression "(code **)(*(int *)param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x38)" ( (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1,uVar2,&local_48,0)" ( identifier , identifier , (pointer_expression "&local_48" & identifier) , number_literal )))) ;) (if_statement "if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(0x17 < local_44)" ( (binary_expression "0x17 < local_44" number_literal < identifier) )) (compound_statement "{\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }" { (expression_statement "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0" identifier = (cast_expression "(code *)PTR_sym_xindex_to_shndx_004c1ab0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x509c" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal)) ;) (do_statement "do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );" do (compound_statement "{\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      }" { (while_statement "while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }" while (parenthesized_expression "((puVar1[1] & 0xf000000) != 0x4000000)" ( (binary_expression "(puVar1[1] & 0xf000000) != 0x4000000" (parenthesized_expression "(puVar1[1] & 0xf000000)" ( (binary_expression "puVar1[1] & 0xf000000" (subscript_expression "puVar1[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }" { (expression_statement "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);" (assignment_expression "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6)" identifier = (binary_expression "(Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6)" (cast_expression "(Symbol_location_info *)(uint)" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)((int)puVar1 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + 6)" ( (binary_expression "(int)puVar1 + 6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" if (parenthesized_expression "(pSVar3 < (Symbol_location_info *)0xff00)" ( (binary_expression "pSVar3 < (Symbol_location_info *)0xff00" identifier < (cast_expression "(Symbol_location_info *)0xff00" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }" { (if_statement "if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }" if (parenthesized_expression "(param_3 == pSVar3)" ( (binary_expression "param_3 == pSVar3" identifier == identifier) )) (compound_statement "{\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }" { (expression_statement "uVar7 = puVar1[2];" (assignment_expression "uVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (labeled_statement "LAB_001e17bc:\n              uVar4 = puVar1[3];" statement_identifier : (expression_statement "uVar4 = puVar1[3];" (assignment_expression "uVar4 = puVar1[3]" identifier = (subscript_expression "puVar1[3]" identifier [ number_literal ])) ;)) (if_statement "if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }" if (parenthesized_expression "((int)uVar7 <= (int)in_a2)" ( (binary_expression "(int)uVar7 <= (int)in_a2" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }" { (if_statement "if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }" if (parenthesized_expression "(uVar7 == in_a2)" ( (binary_expression "uVar7 == in_a2" identifier == identifier) )) (compound_statement "{\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }" { (if_statement "if (local_2c < uVar4) goto LAB_001e1784;" if (parenthesized_expression "(local_2c < uVar4)" ( (binary_expression "local_2c < uVar4" identifier < identifier) )) (goto_statement "goto LAB_001e1784;" goto statement_identifier ;)) (expression_statement "uVar8 = puVar1[5];" (assignment_expression "uVar8 = puVar1[5]" identifier = (subscript_expression "puVar1[5]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                  uVar8 = puVar1[5];\n                }" else (compound_statement "{\n                  uVar8 = puVar1[5];\n                }" { (expression_statement "uVar8 = puVar1[5];" (assignment_expression "uVar8 = puVar1[5]" identifier = (subscript_expression "puVar1[5]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];" (assignment_expression "uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4]" identifier = (binary_expression "(uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4]" (binary_expression "(uint)(uVar4 + uVar8 < uVar4) + uVar7" (call_expression "(uint)(uVar4 + uVar8 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 + uVar8 < uVar4)" ( (binary_expression "uVar4 + uVar8 < uVar4" (binary_expression "uVar4 + uVar8" identifier + identifier) < identifier) ))) + identifier) + (subscript_expression "puVar1[4]" identifier [ number_literal ]))) ;) (if_statement "if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }" if (parenthesized_expression "(((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8))))" ( (binary_expression "((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))" (parenthesized_expression "((int)in_a2 < (int)uVar7)" ( (binary_expression "(int)in_a2 < (int)uVar7" (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))" ( (parenthesized_expression "(uVar7 == in_a2 && (local_2c < uVar4 + uVar8))" ( (binary_expression "uVar7 == in_a2 && (local_2c < uVar4 + uVar8)" (binary_expression "uVar7 == in_a2" identifier == identifier) && (parenthesized_expression "(local_2c < uVar4 + uVar8)" ( (binary_expression "local_2c < uVar4 + uVar8" identifier < (binary_expression "uVar4 + uVar8" identifier + identifier)) ))) )) ))) )) (compound_statement "{\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }" { (expression_statement "uVar2 = *puVar1;" (assignment_expression "uVar2 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;" (assignment_expression "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(uint *)(param_2._0_4_ + 0x30)" * (cast_expression "(uint *)(param_2._0_4_ + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 0x30)" ( (binary_expression "param_2._0_4_ + 0x30" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(byte *)(puVar1 + 1)" * (cast_expression "(byte *)(puVar1 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar9 = param_2._0_4_ + 0x18;" (assignment_expression "iVar9 = param_2._0_4_ + 0x18" identifier = (binary_expression "param_2._0_4_ + 0x18" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal)) ;) (if_statement "if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }" if (parenthesized_expression "(local_48 < uVar2)" ( (binary_expression "local_48 < uVar2" identifier < identifier) )) (compound_statement "{\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,PTR_s__s_004c1a50 + 0x509c)" ( identifier , (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal) ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,local_34 + uVar2)" ( identifier , (binary_expression "local_34 + uVar2" identifier + identifier) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }" { (expression_statement "uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);" (assignment_expression "uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" identifier = (binary_expression "(uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }" if (parenthesized_expression "((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0))" ( (binary_expression "(uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)" ( (comma_expression "iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0" (assignment_expression "iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3)" identifier = (call_expression "(*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3)" (parenthesized_expression "(*(code *)PTR_cplus_demangle_004c280c)" ( (pointer_expression "*(code *)PTR_cplus_demangle_004c280c" * (cast_expression "(code *)PTR_cplus_demangle_004c280c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2._0_4_ + 0x18),3)" ( (pointer_expression "*(undefined4 *)(param_2._0_4_ + 0x18)" * (cast_expression "(undefined4 *)(param_2._0_4_ + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 0x18)" ( (binary_expression "param_2._0_4_ + 0x18" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) )))) , number_literal )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,iVar6);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,iVar6)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,iVar6)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar6);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar6)" (parenthesized_expression "(*(code *)PTR_free_004c5c18)" ( (pointer_expression "*(code *)PTR_free_004c5c18" * (cast_expression "(code *)PTR_free_004c5c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (return_statement "return uVar2;" return identifier ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x61ac" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })) })) })) }) (else_clause "else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" else (if_statement "if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" if (parenthesized_expression "(pSVar3 == (Symbol_location_info *)0xffff)" ( (binary_expression "pSVar3 == (Symbol_location_info *)0xffff" identifier == (cast_expression "(Symbol_location_info *)0xffff" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" { (expression_statement "iVar9 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }" { (expression_statement "iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);" (assignment_expression "iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1)" identifier = (call_expression "(**(code **)(*(int *)param_1 + 0x6c))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x6c))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x6c)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x6c)" * (cast_expression "(code **)(*(int *)param_1 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x6c)" ( (binary_expression "*(int *)param_1 + 0x6c" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*(int *)(param_1 + 0x30) = iVar9;" (assignment_expression "*(int *)(param_1 + 0x30) = iVar9" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);" (assignment_expression "pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2)" identifier = (cast_expression "(Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2)" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_38)(iVar9,param_1,uVar2)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(iVar9,param_1,uVar2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }" if (parenthesized_expression "(param_3 == pSVar3)" ( (binary_expression "param_3 == pSVar3" identifier == identifier) )) (compound_statement "{\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }" { (expression_statement "uVar7 = puVar1[2];" (assignment_expression "uVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001e17bc;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_001e1784:\n          uVar2 = uVar2 + 1;" statement_identifier : (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;)) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" identifier = (binary_expression "puVar1 + 6" identifier + number_literal)) ;) (if_statement "if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }" if (parenthesized_expression "(local_44 / 0x18 <= uVar2)" ( (binary_expression "local_44 / 0x18 <= uVar2" (binary_expression "local_44 / 0x18" identifier / number_literal) <= identifier) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }" if (parenthesized_expression "(*puVar1 < local_48)" ( (binary_expression "*puVar1 < local_48" (pointer_expression "*puVar1" * identifier) < identifier) )) (compound_statement "{\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }" { (expression_statement "local_40 = local_34 + *puVar1;" (assignment_expression "local_40 = local_34 + *puVar1" identifier = (binary_expression "local_34 + *puVar1" identifier + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "local_3c = *(undefined4 *)(param_2._0_4_ + 4);" (assignment_expression "local_3c = *(undefined4 *)(param_2._0_4_ + 4)" identifier = (pointer_expression "*(undefined4 *)(param_2._0_4_ + 4)" * (cast_expression "(undefined4 *)(param_2._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 4)" ( (binary_expression "param_2._0_4_ + 4" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(local_40)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_40)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2._0_4_,0,local_3c,local_40,uVar5)" ( (field_expression "param_2._0_4_" identifier . field_identifier) , number_literal , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001e1784;" goto statement_identifier ;) })) (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9)" ( (field_expression "param_2._0_4_" identifier . field_identifier) , number_literal , (pointer_expression "*(undefined4 *)(param_2._0_4_ + 4)" * (cast_expression "(undefined4 *)(param_2._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 4)" ( (binary_expression "param_2._0_4_ + 4" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) )))) , identifier , number_literal ))) ;) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" identifier = (binary_expression "puVar1 + 6" identifier + number_literal)) ;) (if_statement "if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }" if (parenthesized_expression "(local_44 / 0x18 <= uVar2)" ( (binary_expression "local_44 / 0x18 <= uVar2" (binary_expression "local_44 / 0x18" identifier / number_literal) <= identifier) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (return_statement "return 0;" return number_literal ;) (ERROR "}" }))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Enum "STT": Some values do not have unique names */\n/* DWARF original prototype: bool get_symbol_location_info(Sized_relobj_file<64,_true> * this, uint\n   shndx, off_t offset, Symbol_location_info * info) */\n\nbool __thiscall\ngold::Sized_relobj_file<64,_true>::get_symbol_location_info\n          (Sized_relobj_file<64,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)\n\n{\n  uint *puVar1;\n  Elf_Word EVar2;\n  uint uVar3;\n  int iVar4;\n  char cVar5;\n  Symbol_location_info *pSVar6;\n  Xindex *pXVar7;\n  int *piVar8;\n  Object *this_00;\n  uint uVar9;\n  undefined4 *puVar10;\n  uint in_a3;\n  int iVar11;\n  code *pcVar12;\n  _func_int_varargs *p_Var13;\n  undefined *puVar14;\n  uint uVar15;\n  code *pcVar16;\n  Location LStack_b0;\n  Location LStack_a0;\n  int iStack_90;\n  int iStack_8c;\n  Elf_Word EStack_88;\n  uint *puStack_7c;\n  int iStack_78;\n  uint uStack_74;\n  Symbol_location_info *pSStack_70;\n  code *pcStack_6c;\n  undefined4 local_58;\n  section_size_type names_size;\n  section_size_type symbols_size;\n  uint local_40;\n  undefined4 local_3c;\n  code *local_38;\n  int local_34;\n  undefined *local_30;\n  uint local_2c;\n  \n  if (this->symtab_shndx_ != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);\n    p_Var13 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15];\n    if (p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac) {\n      EVar2 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var13)(this);\n    }\n    if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }\n    local_34 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);\n    if (0x17 < symbols_size) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar15 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      } while (uVar15 < symbols_size / 0x18);\n    }\n  }\n  return false;\n}\n\n" comment comment comment comment comment (declaration "bool __thiscall\ngold::Sized_relobj_file<64,_true>::get_symbol_location_info\n          (Sized_relobj_file<64,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)\n\n{\n  uint *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::get_symbol_location_info\n          (Sized_relobj_file<64,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)\n\n{\n  uint" identifier > : : (function_declarator "get_symbol_location_info\n          (Sized_relobj_file<64,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)" identifier (parameter_list "(Sized_relobj_file<64,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "off_t offset" type_identifier identifier) , (parameter_declaration "Symbol_location_info *info" type_identifier (pointer_declarator "*info" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "Elf_Word EVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "Symbol_location_info *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "Xindex *pXVar7;" type_identifier (pointer_declarator "*pXVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "Object *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *pcVar12;" type_identifier (pointer_declarator "*pcVar12" * identifier) ;) (declaration "_func_int_varargs *p_Var13;" type_identifier (pointer_declarator "*p_Var13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "Location LStack_b0;" type_identifier identifier ;) (declaration "Location LStack_a0;" type_identifier identifier ;) (declaration "int iStack_90;" primitive_type identifier ;) (declaration "int iStack_8c;" primitive_type identifier ;) (declaration "Elf_Word EStack_88;" type_identifier identifier ;) (declaration "uint *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "int iStack_78;" primitive_type identifier ;) (declaration "uint uStack_74;" type_identifier identifier ;) (declaration "Symbol_location_info *pSStack_70;" type_identifier (pointer_declarator "*pSStack_70" * identifier) ;) (declaration "code *pcStack_6c;" type_identifier (pointer_declarator "*pcStack_6c" * identifier) ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "section_size_type names_size;" type_identifier identifier ;) (declaration "section_size_type symbols_size;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (if_statement "if (this->symtab_shndx_ != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);\n    p_Var13 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15];\n    if (p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac) {\n      EVar2 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var13)(this);\n    }\n    if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }\n    local_34 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);\n    if (0x17 < symbols_size) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar15 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      } while (uVar15 < symbols_size / 0x18);\n    }\n  }" if (parenthesized_expression "(this->symtab_shndx_ != 0)" ( (binary_expression "this->symtab_shndx_ != 0" (field_expression "this->symtab_shndx_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    local_2c = in_a3;\n    puVar1 = (uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);\n    p_Var13 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15];\n    if (p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac) {\n      EVar2 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var13)(this);\n    }\n    if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }\n    local_34 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);\n    if (0x17 < symbols_size) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar15 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      } while (uVar15 < symbols_size / 0x18);\n    }\n  }" { (expression_statement "local_2c = in_a3;" (assignment_expression "local_2c = in_a3" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);" (assignment_expression "puVar1 = (uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0)" identifier = (cast_expression "(uint *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])" ( (pointer_expression "*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe]" * (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (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,this->symtab_shndx_,&symbols_size,0)" ( identifier , (field_expression "this->symtab_shndx_" identifier -> field_identifier) , (pointer_expression "&symbols_size" & identifier) , number_literal ))))) ;) (expression_statement "p_Var13 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15];" (assignment_expression "p_Var13 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15]" identifier = (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (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 ])) ;) (if_statement "if (p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac) {\n      EVar2 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var13)(this);\n    }" if (parenthesized_expression "(p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac)" ( (binary_expression "p_Var13 == (_func_int_varargs *)PTR_do_section_link_004c3dac" identifier == (cast_expression "(_func_int_varargs *)PTR_do_section_link_004c3dac" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      EVar2 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }" { (ERROR "EVar2 = elfcpp::Elf_file<64,_true,_gold::" (comma_expression "EVar2 = elfcpp::Elf_file<64,_true,_gold" (binary_expression "EVar2 = elfcpp::Elf_file<64" (assignment_expression "EVar2 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);" (binary_expression "Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_)" identifier > (ERROR "::" : :) (call_expression "section_link\n                        (&this->elf_file_,this->symtab_shndx_)" identifier (argument_list "(&this->elf_file_,this->symtab_shndx_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) , (field_expression "this->symtab_shndx_" identifier -> field_identifier) )))) ;) }) (else_clause "else {\n      EVar2 = (*p_Var13)(this);\n    }" else (compound_statement "{\n      EVar2 = (*p_Var13)(this);\n    }" { (expression_statement "EVar2 = (*p_Var13)(this);" (assignment_expression "EVar2 = (*p_Var13)(this)" identifier = (call_expression "(*p_Var13)(this)" (parenthesized_expression "(*p_Var13)" ( (pointer_expression "*p_Var13" * identifier) )) (argument_list "(this)" ( identifier )))) ;) }))) (if_statement "if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }" if (parenthesized_expression "(0xfeff < EVar2)" ( (binary_expression "0xfeff < EVar2" number_literal < identifier) )) (compound_statement "{\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }" { (expression_statement "local_40 = EVar2;" (assignment_expression "local_40 = EVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fc0)" ( (pointer_expression "*(code *)PTR_initialize_shnum_004c1fc0" * (cast_expression "(code *)PTR_initialize_shnum_004c1fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this->elf_file_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) ))) ;) (expression_statement "EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "EVar2 = local_40 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "local_40 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (expression_statement "local_34 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);" (assignment_expression "local_34 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0)" identifier = (call_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])" ( (pointer_expression "*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe]" * (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (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,EVar2,&names_size,0)" ( identifier , identifier , (pointer_expression "&names_size" & identifier) , number_literal )))) ;) (if_statement "if (0x17 < symbols_size) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar15 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      } while (uVar15 < symbols_size / 0x18);\n    }" if (parenthesized_expression "(0x17 < symbols_size)" ( (binary_expression "0x17 < symbols_size" number_literal < identifier) )) (compound_statement "{\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar15 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      } while (uVar15 < symbols_size / 0x18);\n    }" { (expression_statement "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0" identifier = (cast_expression "(code *)PTR_sym_xindex_to_shndx_004c1ab0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x509c" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal)) ;) (do_statement "do {\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      } while (uVar15 < symbols_size / 0x18);" do (compound_statement "{\n        while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 6);\n        if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }\nLAB_001e1784:\n        uVar15 = uVar15 + 1;\n        puVar1 = puVar1 + 6;\n      }" { (while_statement "while ((puVar1[1] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }" while (parenthesized_expression "((puVar1[1] & 0xf000000) == 0x4000000)" ( (binary_expression "(puVar1[1] & 0xf000000) == 0x4000000" (parenthesized_expression "(puVar1[1] & 0xf000000)" ( (binary_expression "puVar1[1] & 0xf000000" (subscript_expression "puVar1[1]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }\n          uVar15 = uVar15 + 1;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);\n          puVar1 = puVar1 + 6;\n          if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }\n        }" { (if_statement "if (*puVar1 < names_size) {\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }" if (parenthesized_expression "(*puVar1 < names_size)" ( (binary_expression "*puVar1 < names_size" (pointer_expression "*puVar1" * identifier) < identifier) )) (compound_statement "{\n            local_40 = local_34 + *puVar1;\n            local_3c = *(undefined4 *)(offset._0_4_ + 4);\n            local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);\n            goto LAB_001e1784;\n          }" { (expression_statement "local_40 = local_34 + *puVar1;" (assignment_expression "local_40 = local_34 + *puVar1" identifier = (binary_expression "local_34 + *puVar1" identifier + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "local_3c = *(undefined4 *)(offset._0_4_ + 4);" (assignment_expression "local_3c = *(undefined4 *)(offset._0_4_ + 4)" identifier = (pointer_expression "*(undefined4 *)(offset._0_4_ + 4)" * (cast_expression "(undefined4 *)(offset._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(offset._0_4_ + 4)" ( (binary_expression "offset._0_4_ + 4" (field_expression "offset._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "local_58 = (*(code *)PTR_strlen_004c5b9c)(local_40)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(local_40)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_40)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,local_40)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(offset._0_4_,0,local_3c,local_40)" ( (field_expression "offset._0_4_" identifier . field_identifier) , number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_001e1784;" goto statement_identifier ;) })) (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;) (expression_statement "local_58 = 9;" (assignment_expression "local_58 = 9" identifier = number_literal) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),local_30)" ( (field_expression "offset._0_4_" identifier . field_identifier) , number_literal , (pointer_expression "*(undefined4 *)(offset._0_4_ + 4)" * (cast_expression "(undefined4 *)(offset._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(offset._0_4_ + 4)" ( (binary_expression "offset._0_4_ + 4" (field_expression "offset._0_4_" identifier . field_identifier) + number_literal) )))) , identifier ))) ;) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" identifier = (binary_expression "puVar1 + 6" identifier + number_literal)) ;) (if_statement "if (symbols_size / 0x18 <= uVar15) {\n            return false;\n          }" if (parenthesized_expression "(symbols_size / 0x18 <= uVar15)" ( (binary_expression "symbols_size / 0x18 <= uVar15" (binary_expression "symbols_size / 0x18" identifier / number_literal) <= identifier) )) (compound_statement "{\n            return false;\n          }" { (return_statement "return false;" return false ;) })) })) (expression_statement "uVar3 = (uint)*(ushort *)((int)puVar1 + 6);" (assignment_expression "uVar3 = (uint)*(ushort *)((int)puVar1 + 6)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar1 + 6)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar1 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + 6)" ( (binary_expression "(int)puVar1 + 6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar3 < 0xff00) {\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\n        else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }" if (parenthesized_expression "(uVar3 < 0xff00)" ( (binary_expression "uVar3 < 0xff00" identifier < number_literal) )) (compound_statement "{\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }" { (if_statement "if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }" if (parenthesized_expression "(shndx == uVar3)" ( (binary_expression "shndx == uVar3" identifier == identifier) )) (compound_statement "{\n            pSVar6 = (Symbol_location_info *)puVar1[2];\nLAB_001e17bc:\n            uVar3 = puVar1[3];\n            if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }" { (expression_statement "pSVar6 = (Symbol_location_info *)puVar1[2];" (assignment_expression "pSVar6 = (Symbol_location_info *)puVar1[2]" identifier = (cast_expression "(Symbol_location_info *)puVar1[2]" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar1[2]" identifier [ number_literal ]))) ;) (labeled_statement "LAB_001e17bc:\n            uVar3 = puVar1[3];" statement_identifier : (expression_statement "uVar3 = puVar1[3];" (assignment_expression "uVar3 = puVar1[3]" identifier = (subscript_expression "puVar1[3]" identifier [ number_literal ])) ;)) (if_statement "if ((int)pSVar6 <= (int)info) {\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }" if (parenthesized_expression "((int)pSVar6 <= (int)info)" ( (binary_expression "(int)pSVar6 <= (int)info" (cast_expression "(int)pSVar6" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)info" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }\n              pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);\n              if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }" { (if_statement "if (pSVar6 == info) {\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }\n              else {\n                uVar9 = puVar1[5];\n              }" if (parenthesized_expression "(pSVar6 == info)" ( (binary_expression "pSVar6 == info" identifier == identifier) )) (compound_statement "{\n                if (local_2c < uVar3) goto LAB_001e1784;\n                uVar9 = puVar1[5];\n              }" { (if_statement "if (local_2c < uVar3) goto LAB_001e1784;" if (parenthesized_expression "(local_2c < uVar3)" ( (binary_expression "local_2c < uVar3" identifier < identifier) )) (goto_statement "goto LAB_001e1784;" goto statement_identifier ;)) (expression_statement "uVar9 = puVar1[5];" (assignment_expression "uVar9 = puVar1[5]" identifier = (subscript_expression "puVar1[5]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                uVar9 = puVar1[5];\n              }" else (compound_statement "{\n                uVar9 = puVar1[5];\n              }" { (expression_statement "uVar9 = puVar1[5];" (assignment_expression "uVar9 = puVar1[5]" identifier = (subscript_expression "puVar1[5]" identifier [ number_literal ])) ;) }))) (expression_statement "pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]);" (assignment_expression "pSVar6 = (Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4])" identifier = (cast_expression "(Symbol_location_info *)\n                       ((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4])" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4])" ( (binary_expression "(int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3) + puVar1[4]" (binary_expression "(int)&(pSVar6->source_file)._M_dataplus._M_p +\n                       (uint)(uVar3 + uVar9 < uVar3)" (cast_expression "(int)&(pSVar6->source_file)._M_dataplus._M_p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pSVar6->source_file)._M_dataplus._M_p" & (field_expression "(pSVar6->source_file)._M_dataplus._M_p" (field_expression "(pSVar6->source_file)._M_dataplus" (parenthesized_expression "(pSVar6->source_file)" ( (field_expression "pSVar6->source_file" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + (call_expression "(uint)(uVar3 + uVar9 < uVar3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar3 + uVar9 < uVar3)" ( (binary_expression "uVar3 + uVar9 < uVar3" (binary_expression "uVar3 + uVar9" identifier + identifier) < identifier) )))) + (subscript_expression "puVar1[4]" identifier [ number_literal ])) )))) ;) (if_statement "if (((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))) {\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }" if (parenthesized_expression "(((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9))))" ( (binary_expression "((int)info < (int)pSVar6) || ((pSVar6 == info && (local_2c < uVar3 + uVar9)))" (parenthesized_expression "((int)info < (int)pSVar6)" ( (binary_expression "(int)info < (int)pSVar6" (cast_expression "(int)info" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pSVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((pSVar6 == info && (local_2c < uVar3 + uVar9)))" ( (parenthesized_expression "(pSVar6 == info && (local_2c < uVar3 + uVar9))" ( (binary_expression "pSVar6 == info && (local_2c < uVar3 + uVar9)" (binary_expression "pSVar6 == info" identifier == identifier) && (parenthesized_expression "(local_2c < uVar3 + uVar9)" ( (binary_expression "local_2c < uVar3 + uVar9" identifier < (binary_expression "uVar3 + uVar9" identifier + identifier)) ))) )) ))) )) (compound_statement "{\n                uVar15 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }\n                iVar4 = 0x5c;\n                pcVar16 = get_symbol_name;\n                piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar14 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar8[0x2d] == 0) {\n                  return false;\n                }\n                pcVar12 = *(code **)(puVar14 + 0x2e2368);\n                puStack_7c = puVar1;\n                iStack_78 = iVar11;\n                uStack_74 = shndx;\n                pSStack_70 = info;\n                pcStack_6c = pcVar16;\n                if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);\n                (**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);\nLAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }" { (expression_statement "uVar15 = *puVar1;" (assignment_expression "uVar15 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;" (assignment_expression "*(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(uint *)(offset._0_4_ + 0x30)" * (cast_expression "(uint *)(offset._0_4_ + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(offset._0_4_ + 0x30)" ( (binary_expression "offset._0_4_ + 0x30" (field_expression "offset._0_4_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(byte *)(puVar1 + 1)" * (cast_expression "(byte *)(puVar1 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar11 = offset._0_4_ + 0x18;" (assignment_expression "iVar11 = offset._0_4_ + 0x18" identifier = (binary_expression "offset._0_4_ + 0x18" (field_expression "offset._0_4_" identifier . field_identifier) + number_literal)) ;) (if_statement "if (names_size < uVar15) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }" if (parenthesized_expression "(names_size < uVar15)" ( (binary_expression "names_size < uVar15" identifier < identifier) )) (compound_statement "{\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,PTR_s__s_004c1a50 + 0x509c)" ( identifier , (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal) ))) ;) (return_statement "return true;" return true ;) })) (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar11,local_34 + uVar15)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,local_34 + uVar15)" ( identifier , (binary_expression "local_34 + uVar15" identifier + identifier) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n                  cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                  if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }\n                  return true;\n                }" { (expression_statement "cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);" (assignment_expression "cVar5 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" identifier = (pointer_expression "*(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" * (cast_expression "(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)) {\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }" if (parenthesized_expression "((cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0))" ( (binary_expression "(cVar5 != '\0') &&\n                     (iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)" (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0)" ( (comma_expression "iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3), iVar4 != 0" (assignment_expression "iVar4 = (*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3)" identifier = (call_expression "(*(code *)PTR_cplus_demangle_004c280c)\n                                        (*(undefined4 *)(offset._0_4_ + 0x18),3)" (parenthesized_expression "(*(code *)PTR_cplus_demangle_004c280c)" ( (pointer_expression "*(code *)PTR_cplus_demangle_004c280c" * (cast_expression "(code *)PTR_cplus_demangle_004c280c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(offset._0_4_ + 0x18),3)" ( (pointer_expression "*(undefined4 *)(offset._0_4_ + 0x18)" * (cast_expression "(undefined4 *)(offset._0_4_ + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(offset._0_4_ + 0x18)" ( (binary_expression "offset._0_4_ + 0x18" (field_expression "offset._0_4_" identifier . field_identifier) + number_literal) )))) , number_literal )))) , (binary_expression "iVar4 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                    (*(code *)PTR_assign_004c3d50)(iVar11,iVar4);\n                    (*(code *)PTR_free_004c5c18)(iVar4);\n                    return (bool)cVar5;\n                  }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar11,iVar4);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar11,iVar4)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar11,iVar4)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar4);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar4)" (parenthesized_expression "(*(code *)PTR_free_004c5c18)" ( (pointer_expression "*(code *)PTR_free_004c5c18" * (cast_expression "(code *)PTR_free_004c5c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar4)" ( identifier ))) ;) (return_statement "return (bool)cVar5;" return (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier) ;) })) (return_statement "return true;" return true ;) })) (expression_statement "iVar4 = 0x5c;" (assignment_expression "iVar4 = 0x5c" identifier = number_literal) ;) (expression_statement "pcVar16 = get_symbol_name;" (assignment_expression "pcVar16 = get_symbol_name" identifier = identifier) ;) (expression_statement "piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);" (assignment_expression "piVar8 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" identifier = (cast_expression "(int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) )))) ;) (expression_statement "puVar14 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar14 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar8,0x5c,PTR_s__s_004c1a50 + 0x61ac)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x61ac" identifier + number_literal) ))) ;) (if_statement "if (piVar8[0x2d] == 0) {\n                  return false;\n                }" if (parenthesized_expression "(piVar8[0x2d] == 0)" ( (binary_expression "piVar8[0x2d] == 0" (subscript_expression "piVar8[0x2d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  return false;\n                }" { (return_statement "return false;" return false ;) })) (expression_statement "pcVar12 = *(code **)(puVar14 + 0x2e2368);" (assignment_expression "pcVar12 = *(code **)(puVar14 + 0x2e2368)" identifier = (pointer_expression "*(code **)(puVar14 + 0x2e2368)" * (cast_expression "(code **)(puVar14 + 0x2e2368)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2e2368)" ( (binary_expression "puVar14 + 0x2e2368" identifier + number_literal) ))))) ;) (expression_statement "puStack_7c = puVar1;" (assignment_expression "puStack_7c = puVar1" identifier = identifier) ;) (expression_statement "iStack_78 = iVar11;" (assignment_expression "iStack_78 = iVar11" identifier = identifier) ;) (expression_statement "uStack_74 = shndx;" (assignment_expression "uStack_74 = shndx" identifier = identifier) ;) (expression_statement "pSStack_70 = info;" (assignment_expression "pSStack_70 = info" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar16;" (assignment_expression "pcStack_6c = pcVar16" identifier = identifier) ;) (if_statement "if (*(code **)(*piVar8 + 0x38) == pcVar12) {\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }" if (parenthesized_expression "(*(code **)(*piVar8 + 0x38) == pcVar12)" ( (binary_expression "*(code **)(*piVar8 + 0x38) == pcVar12" (pointer_expression "*(code **)(*piVar8 + 0x38)" * (cast_expression "(code **)(*piVar8 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x38)" ( (binary_expression "*piVar8 + 0x38" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);\n                  if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }\n                }" { (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Object>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d]);" (call_expression "section_contents\n                            (&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d])" identifier (argument_list "(&LStack_a0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),\n                             piVar8[0x2d])" ( (pointer_expression "&LStack_a0" & identifier) , (call_expression "(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24)" (parenthesized_expression "(Elf_file<64,_true,_gold::Object> *)" ( (ERROR "Elf_file<64,_true,_gold::" (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar8 + 0x24)" ( (binary_expression "piVar8 + 0x24" identifier + number_literal) ))) , (subscript_expression "piVar8[0x2d]" identifier [ number_literal ]) ))) ;)) (if_statement "if (LStack_a0.data_size._0_4_ == 0) {\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }" if (parenthesized_expression "(LStack_a0.data_size._0_4_ == 0)" ( (binary_expression "LStack_a0.data_size._0_4_ == 0" (field_expression "LStack_a0.data_size._0_4_" (field_expression "LStack_a0.data_size" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                    iStack_8c = LStack_a0.data_size._4_4_;\n                    if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }\n                    this_00 = (Object *)piVar8[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                    iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    pcVar16 = *(code **)(*piVar8 + 0x54);\n                    uVar15 = piVar8[0x2d];\n                    if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;\n                    goto LAB_001e1ac4;\n                  }" { (expression_statement "iStack_8c = LStack_a0.data_size._4_4_;" (assignment_expression "iStack_8c = LStack_a0.data_size._4_4_" identifier = (field_expression "LStack_a0.data_size._4_4_" (field_expression "LStack_a0.data_size" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (LStack_a0.data_size._4_4_ == 0) {\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }" if (parenthesized_expression "(LStack_a0.data_size._4_4_ == 0)" ( (binary_expression "LStack_a0.data_size._4_4_ == 0" (field_expression "LStack_a0.data_size._4_4_" (field_expression "LStack_a0.data_size" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                      iVar11 = *(int *)(puVar14 + 0x2e0590);\n                      goto LAB_001e1ab0;\n                    }" { (expression_statement "iVar11 = *(int *)(puVar14 + 0x2e0590);" (assignment_expression "iVar11 = *(int *)(puVar14 + 0x2e0590)" identifier = (pointer_expression "*(int *)(puVar14 + 0x2e0590)" * (cast_expression "(int *)(puVar14 + 0x2e0590)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x2e0590)" ( (binary_expression "puVar14 + 0x2e0590" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001e1ab0;" goto statement_identifier ;) })) (expression_statement "this_00 = (Object *)piVar8[7];" (assignment_expression "this_00 = (Object *)piVar8[7]" identifier = (cast_expression "(Object *)piVar8[7]" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[7]" identifier [ number_literal ]))) ;) (if_statement "if (this_00 == (Object *)0x0) goto LAB_001e1cd8;" if (parenthesized_expression "(this_00 == (Object *)0x0)" ( (binary_expression "this_00 == (Object *)0x0" identifier == (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e1cd8;" goto statement_identifier ;)) (expression_statement "iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);" (assignment_expression "iVar11 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_)" identifier = (call_expression "(**(code **)(puVar14 + 0x2e0140))(&this_00->offset_)" (parenthesized_expression "(**(code **)(puVar14 + 0x2e0140))" ( (pointer_expression "**(code **)(puVar14 + 0x2e0140)" * (pointer_expression "*(code **)(puVar14 + 0x2e0140)" * (cast_expression "(code **)(puVar14 + 0x2e0140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2e0140)" ( (binary_expression "puVar14 + 0x2e0140" identifier + number_literal) ))))) )) (argument_list "(&this_00->offset_)" ( (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier)) )))) ;) (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x54);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x54)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x54)" * (cast_expression "(code **)(*piVar8 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x54)" ( (binary_expression "*piVar8 + 0x54" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) (expression_statement "uVar15 = piVar8[0x2d];" (assignment_expression "uVar15 = piVar8[0x2d]" identifier = (subscript_expression "piVar8[0x2d]" identifier [ number_literal ])) ;) (if_statement "if (pcVar16 != *(code **)(puVar14 + 0x2e2378)) goto LAB_001e1bf8;" if (parenthesized_expression "(pcVar16 != *(code **)(puVar14 + 0x2e2378))" ( (binary_expression "pcVar16 != *(code **)(puVar14 + 0x2e2378)" identifier != (pointer_expression "*(code **)(puVar14 + 0x2e2378)" * (cast_expression "(code **)(puVar14 + 0x2e2378)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2e2378)" ( (binary_expression "puVar14 + 0x2e2378" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001e1bf8;" goto statement_identifier ;)) (goto_statement "goto LAB_001e1ac4;" goto statement_identifier ;) })) }) (else_clause "else {\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }" else (compound_statement "{\n                  iVar11 = (**(code **)(*piVar8 + 0x38))();\nLAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);\n                  uVar15 = piVar8[0x2d];\n                  if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }\n                  elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                  if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }\n                }" { (expression_statement "iVar11 = (**(code **)(*piVar8 + 0x38))();" (assignment_expression "iVar11 = (**(code **)(*piVar8 + 0x38))()" identifier = (call_expression "(**(code **)(*piVar8 + 0x38))()" (parenthesized_expression "(**(code **)(*piVar8 + 0x38))" ( (pointer_expression "**(code **)(*piVar8 + 0x38)" * (pointer_expression "*(code **)(*piVar8 + 0x38)" * (cast_expression "(code **)(*piVar8 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x38)" ( (binary_expression "*piVar8 + 0x38" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_001e1ab0:\n                  pcVar16 = *(code **)(*piVar8 + 0x54);" statement_identifier : (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x54);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x54)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x54)" * (cast_expression "(code **)(*piVar8 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x54)" ( (binary_expression "*piVar8 + 0x54" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;)) (expression_statement "uVar15 = piVar8[0x2d];" (assignment_expression "uVar15 = piVar8[0x2d]" identifier = (subscript_expression "piVar8[0x2d]" identifier [ number_literal ])) ;) (if_statement "if (pcVar16 == *(code **)(puVar14 + 0x2e2378)) {\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }\n                  else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }" if (parenthesized_expression "(pcVar16 == *(code **)(puVar14 + 0x2e2378))" ( (binary_expression "pcVar16 == *(code **)(puVar14 + 0x2e2378)" identifier == (pointer_expression "*(code **)(puVar14 + 0x2e2378)" * (cast_expression "(code **)(puVar14 + 0x2e2378)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2e2378)" ( (binary_expression "puVar14 + 0x2e2378" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);\n                    if (uVar15 < 0xff00) goto LAB_001e1ae0;\nLAB_001e1c10:\n                    EStack_88 = uVar15;\n                    (**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);\n                    uVar15 = EStack_88 + piVar8[0x2a];\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }" { (labeled_statement "LAB_001e1ac4:\n                    uVar15 = elfcpp::Elf_file<64,_true,_gold::Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);" statement_identifier : (ERROR "uVar15 = elfcpp::Elf_file<64,_true,_gold::" (comma_expression "uVar15 = elfcpp::Elf_file<64,_true,_gold" (binary_expression "uVar15 = elfcpp::Elf_file<64" (assignment_expression "uVar15 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);" (binary_expression "Object>::section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15)" identifier > (ERROR "::" : :) (call_expression "section_link\n                                       ((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15)" identifier (argument_list "((Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15)" ( (call_expression "(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24)" (parenthesized_expression "(Elf_file<64,_true,_gold::Object> *)" ( (ERROR "Elf_file<64,_true,_gold::" (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar8 + 0x24)" ( (binary_expression "piVar8 + 0x24" identifier + number_literal) ))) , identifier )))) ;)) (if_statement "if (uVar15 < 0xff00) goto LAB_001e1ae0;" if (parenthesized_expression "(uVar15 < 0xff00)" ( (binary_expression "uVar15 < 0xff00" identifier < number_literal) )) (goto_statement "goto LAB_001e1ae0;" goto statement_identifier ;)) (labeled_statement "LAB_001e1c10:\n                    EStack_88 = uVar15;" statement_identifier : (expression_statement "EStack_88 = uVar15;" (assignment_expression "EStack_88 = uVar15" identifier = identifier) ;)) (expression_statement "(**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24);" (call_expression "(**(code **)(puVar14 + 0x2e058c))(piVar8 + 0x24)" (parenthesized_expression "(**(code **)(puVar14 + 0x2e058c))" ( (pointer_expression "**(code **)(puVar14 + 0x2e058c)" * (pointer_expression "*(code **)(puVar14 + 0x2e058c)" * (cast_expression "(code **)(puVar14 + 0x2e058c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2e058c)" ( (binary_expression "puVar14 + 0x2e058c" identifier + number_literal) ))))) )) (argument_list "(piVar8 + 0x24)" ( (binary_expression "piVar8 + 0x24" identifier + number_literal) ))) ;) (expression_statement "uVar15 = EStack_88 + piVar8[0x2a];" (assignment_expression "uVar15 = EStack_88 + piVar8[0x2a]" identifier = (binary_expression "EStack_88 + piVar8[0x2a]" identifier + (subscript_expression "piVar8[0x2a]" identifier [ number_literal ]))) ;) (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x38);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x38)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x38)" * (cast_expression "(code **)(*piVar8 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x38)" ( (binary_expression "*piVar8 + 0x38" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;) }) (else_clause "else {\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }" else (compound_statement "{\nLAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);\n                    if (0xfeff < uVar15) goto LAB_001e1c10;\nLAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);\n                  }" { (labeled_statement "LAB_001e1bf8:\n                    uVar15 = (*pcVar16)(piVar8);" statement_identifier : (expression_statement "uVar15 = (*pcVar16)(piVar8);" (assignment_expression "uVar15 = (*pcVar16)(piVar8)" identifier = (call_expression "(*pcVar16)(piVar8)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(piVar8)" ( identifier )))) ;)) (if_statement "if (0xfeff < uVar15) goto LAB_001e1c10;" if (parenthesized_expression "(0xfeff < uVar15)" ( (binary_expression "0xfeff < uVar15" number_literal < identifier) )) (goto_statement "goto LAB_001e1c10;" goto statement_identifier ;)) (labeled_statement "LAB_001e1ae0:\n                    pcVar16 = *(code **)(*piVar8 + 0x38);" statement_identifier : (expression_statement "pcVar16 = *(code **)(*piVar8 + 0x38);" (assignment_expression "pcVar16 = *(code **)(*piVar8 + 0x38)" identifier = (pointer_expression "*(code **)(*piVar8 + 0x38)" * (cast_expression "(code **)(*piVar8 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x38)" ( (binary_expression "*piVar8 + 0x38" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) ;)) }))) (if_statement "if (pcVar16 != pcVar12) {\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }" if (parenthesized_expression "(pcVar16 != pcVar12)" ( (binary_expression "pcVar16 != pcVar12" identifier != identifier) )) (compound_statement "{\n                    cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\nLAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);\n                  }" { (expression_statement "cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0);" (assignment_expression "cVar5 = (*pcVar16)(piVar8,uVar15,&iStack_90,0)" identifier = (call_expression "(*pcVar16)(piVar8,uVar15,&iStack_90,0)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(piVar8,uVar15,&iStack_90,0)" ( identifier , identifier , (pointer_expression "&iStack_90" & identifier) , number_literal )))) ;) (expression_statement "puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);" (assignment_expression "puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18)" identifier = (cast_expression "(undefined4 *)(iVar11 + iVar4 * 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar4 * 0x18)" ( (binary_expression "iVar11 + iVar4 * 0x18" identifier + (binary_expression "iVar4 * 0x18" identifier * number_literal)) )))) ;) (if_statement "if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }" if (parenthesized_expression "((undefined4 *)(iVar11 + iStack_8c) <= puVar10)" ( (binary_expression "(undefined4 *)(iVar11 + iStack_8c) <= puVar10" (cast_expression "(undefined4 *)(iVar11 + iStack_8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iStack_8c)" ( (binary_expression "iVar11 + iStack_8c" identifier + identifier) ))) <= identifier) )) (compound_statement "{\n                      return false;\n                    }" { (return_statement "return false;" return false ;) })) (labeled_statement "LAB_001e1b7c:\n                    return (bool)(cVar5 + (char)*puVar10);" statement_identifier : (return_statement "return (bool)(cVar5 + (char)*puVar10);" return (cast_expression "(bool)(cVar5 + (char)*puVar10)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(cVar5 + (char)*puVar10)" ( (binary_expression "cVar5 + (char)*puVar10" identifier + (cast_expression "(char)*puVar10" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*puVar10" * identifier))) ))) ;)) })) (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Object>:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15);" (call_expression "section_contents\n                            (&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15)" identifier (argument_list "(&LStack_b0,(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24),uVar15)" ( (pointer_expression "&LStack_b0" & identifier) , (call_expression "(Elf_file<64,_true,_gold::Object> *)(piVar8 + 0x24)" (parenthesized_expression "(Elf_file<64,_true,_gold::Object> *)" ( (ERROR "Elf_file<64,_true,_gold::" (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar8 + 0x24)" ( (binary_expression "piVar8 + 0x24" identifier + number_literal) ))) , identifier ))) ;)) (if_statement "if (LStack_b0.data_size._0_4_ == 0) {\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }" if (parenthesized_expression "(LStack_b0.data_size._0_4_ == 0)" ( (binary_expression "LStack_b0.data_size._0_4_ == 0" (field_expression "LStack_b0.data_size._0_4_" (field_expression "LStack_b0.data_size" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                    iStack_90 = LStack_b0.data_size._4_4_;\n                    if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }\n                    puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }\n                    goto LAB_001e1b7c;\n                  }" { (expression_statement "iStack_90 = LStack_b0.data_size._4_4_;" (assignment_expression "iStack_90 = LStack_b0.data_size._4_4_" identifier = (field_expression "LStack_b0.data_size._4_4_" (field_expression "LStack_b0.data_size" identifier . field_identifier) . field_identifier)) ;) (if_statement "if (LStack_b0.data_size._4_4_ == 0) {\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }\n                    else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }" if (parenthesized_expression "(LStack_b0.data_size._4_4_ == 0)" ( (binary_expression "LStack_b0.data_size._4_4_ == 0" (field_expression "LStack_b0.data_size._4_4_" (field_expression "LStack_b0.data_size" identifier . field_identifier) . field_identifier) == number_literal) )) (compound_statement "{\n                      cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);\n                    }" { (expression_statement "cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590);" (assignment_expression "cVar5 = (char)*(undefined4 *)(puVar14 + 0x2e0590)" identifier = (cast_expression "(char)*(undefined4 *)(puVar14 + 0x2e0590)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(puVar14 + 0x2e0590)" * (cast_expression "(undefined4 *)(puVar14 + 0x2e0590)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x2e0590)" ( (binary_expression "puVar14 + 0x2e0590" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }" else (compound_statement "{\n                      this_00 = (Object *)piVar8[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001e1cd8;\n                      cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);\n                    }" { (expression_statement "this_00 = (Object *)piVar8[7];" (assignment_expression "this_00 = (Object *)piVar8[7]" identifier = (cast_expression "(Object *)piVar8[7]" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar8[7]" identifier [ number_literal ]))) ;) (if_statement "if (this_00 == (Object *)0x0) goto LAB_001e1cd8;" if (parenthesized_expression "(this_00 == (Object *)0x0)" ( (binary_expression "this_00 == (Object *)0x0" identifier == (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e1cd8;" goto statement_identifier ;)) (expression_statement "cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_);" (assignment_expression "cVar5 = (**(code **)(puVar14 + 0x2e0140))(&this_00->offset_)" identifier = (call_expression "(**(code **)(puVar14 + 0x2e0140))(&this_00->offset_)" (parenthesized_expression "(**(code **)(puVar14 + 0x2e0140))" ( (pointer_expression "**(code **)(puVar14 + 0x2e0140)" * (pointer_expression "*(code **)(puVar14 + 0x2e0140)" * (cast_expression "(code **)(puVar14 + 0x2e0140)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2e0140)" ( (binary_expression "puVar14 + 0x2e0140" identifier + number_literal) ))))) )) (argument_list "(&this_00->offset_)" ( (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier)) )))) ;) }))) (expression_statement "puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18);" (assignment_expression "puVar10 = (undefined4 *)(iVar11 + iVar4 * 0x18)" identifier = (cast_expression "(undefined4 *)(iVar11 + iVar4 * 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar4 * 0x18)" ( (binary_expression "iVar11 + iVar4 * 0x18" identifier + (binary_expression "iVar4 * 0x18" identifier * number_literal)) )))) ;) (if_statement "if ((undefined4 *)(iVar11 + iStack_8c) <= puVar10) {\n                      return false;\n                    }" if (parenthesized_expression "((undefined4 *)(iVar11 + iStack_8c) <= puVar10)" ( (binary_expression "(undefined4 *)(iVar11 + iStack_8c) <= puVar10" (cast_expression "(undefined4 *)(iVar11 + iStack_8c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iStack_8c)" ( (binary_expression "iVar11 + iStack_8c" identifier + identifier) ))) <= identifier) )) (compound_statement "{\n                      return false;\n                    }" { (return_statement "return false;" return false ;) })) (goto_statement "goto LAB_001e1b7c;" goto statement_identifier ;) })) }))) (expression_statement "this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584);" (assignment_expression "this_00 = (Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584)" identifier = (cast_expression "(Object *)(*(int *)(puVar14 + 0x2df848) + 0x4584)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar14 + 0x2df848) + 0x4584)" ( (binary_expression "*(int *)(puVar14 + 0x2df848) + 0x4584" (pointer_expression "*(int *)(puVar14 + 0x2df848)" * (cast_expression "(int *)(puVar14 + 0x2df848)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x2df848)" ( (binary_expression "puVar14 + 0x2df848" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64);" (call_expression "(**(code **)(puVar14 + 0x2dfffc))\n                          (this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64)" (parenthesized_expression "(**(code **)(puVar14 + 0x2dfffc))" ( (pointer_expression "**(code **)(puVar14 + 0x2dfffc)" * (pointer_expression "*(code **)(puVar14 + 0x2dfffc)" * (cast_expression "(code **)(puVar14 + 0x2dfffc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x2dfffc)" ( (binary_expression "puVar14 + 0x2dfffc" identifier + number_literal) ))))) )) (argument_list "(this_00,0xc0,*(int *)(puVar14 + 0x2e001c) + 0x5d64)" ( identifier , number_literal , (binary_expression "*(int *)(puVar14 + 0x2e001c) + 0x5d64" (pointer_expression "*(int *)(puVar14 + 0x2e001c)" * (cast_expression "(int *)(puVar14 + 0x2e001c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x2e001c)" ( (binary_expression "puVar14 + 0x2e001c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001e1cd8:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);" statement_identifier : comment (labeled_statement "Object::input_file(this_00);" statement_identifier : (ERROR ":" :) (expression_statement "input_file(this_00);" (call_expression "input_file(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;))) })) })) })) }) (else_clause "else if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }" else (if_statement "if (uVar3 == 0xffff) {\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }" if (parenthesized_expression "(uVar3 == 0xffff)" ( (binary_expression "uVar3 == 0xffff" identifier == number_literal) )) (compound_statement "{\n          pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }\n          uVar3 = (*local_38)(pXVar7,this,uVar15);\n          if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }\n        }" { (expression_statement "pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;" (assignment_expression "pXVar7 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (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)) ;) (if_statement "if (pXVar7 == (Xindex *)0x0) {\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }" if (parenthesized_expression "(pXVar7 == (Xindex *)0x0)" ( (binary_expression "pXVar7 == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;\n          }" { (expression_statement "pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);" (assignment_expression "pXVar7 = (Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this)" identifier = (cast_expression "(Xindex *)\n                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])" ( (pointer_expression "*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b]" * (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (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 ))))) ;) (expression_statement "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7;" (assignment_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = pXVar7" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (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) = identifier) ;) })) (expression_statement "uVar3 = (*local_38)(pXVar7,this,uVar15);" (assignment_expression "uVar3 = (*local_38)(pXVar7,this,uVar15)" identifier = (call_expression "(*local_38)(pXVar7,this,uVar15)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(pXVar7,this,uVar15)" ( identifier , identifier , identifier )))) ;) (if_statement "if (shndx == uVar3) {\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }" if (parenthesized_expression "(shndx == uVar3)" ( (binary_expression "shndx == uVar3" identifier == identifier) )) (compound_statement "{\n            pSVar6 = (Symbol_location_info *)puVar1[2];\n            goto LAB_001e17bc;\n          }" { (expression_statement "pSVar6 = (Symbol_location_info *)puVar1[2];" (assignment_expression "pSVar6 = (Symbol_location_info *)puVar1[2]" identifier = (cast_expression "(Symbol_location_info *)puVar1[2]" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar1[2]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_001e17bc;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_001e1784:\n        uVar15 = uVar15 + 1;" statement_identifier : (expression_statement "uVar15 = uVar15 + 1;" (assignment_expression "uVar15 = uVar15 + 1" identifier = (binary_expression "uVar15 + 1" identifier + number_literal)) ;)) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" identifier = (binary_expression "puVar1 + 6" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar15 < symbols_size / 0x18)" ( (binary_expression "uVar15 < symbols_size / 0x18" identifier < (binary_expression "symbols_size / 0x18" identifier / number_literal)) )) ;) })) })) (return_statement "return false;" return false ;) (ERROR "}" }))
(translation_unit "uint gold::Sized_relobj_file<64,true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint *puVar1;\n  uint uVar2;\n  Symbol_location_info *pSVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  uint uVar7;\n  uint uVar8;\n  uint in_a2;\n  uint in_a3;\n  int iVar9;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  code *local_38;\n  int local_34;\n  undefined *local_30;\n  uint local_2c;\n  \n  if (*(int *)(param_1 + 0xb4) != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }\n  return 0;\n}\n\n" (declaration "uint gold::Sized_relobj_file<64,true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint *puVar1;" type_identifier (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint" identifier > : : (function_declarator "get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)" identifier (parameter_list "(uint param_1,longlong param_2,Symbol_location_info *param_3)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "longlong param_2" type_identifier identifier) , (parameter_declaration "Symbol_location_info *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "Symbol_location_info *pSVar3;" type_identifier (pointer_declarator "*pSVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint in_a2;" type_identifier identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "uint local_2c;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0xb4) != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0xb4) != 0)" ( (binary_expression "*(int *)(param_1 + 0xb4) != 0" (pointer_expression "*(int *)(param_1 + 0xb4)" * (cast_expression "(int *)(param_1 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }" { (expression_statement "local_2c = in_a3;" (assignment_expression "local_2c = in_a3" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);" (assignment_expression "puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" identifier = (cast_expression "(uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" * (cast_expression "(code **)(*(int *)param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x38)" ( (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1,*(int *)(param_1 + 0xb4),&local_44,0)" ( identifier , (pointer_expression "*(int *)(param_1 + 0xb4)" * (cast_expression "(int *)(param_1 + 0xb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) , (pointer_expression "&local_44" & identifier) , number_literal ))))) ;) (if_statement "if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" if (parenthesized_expression "(*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac)" ( (binary_expression "*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac" (pointer_expression "*(code **)(*(int *)param_1 + 0x54)" * (cast_expression "(code **)(*(int *)param_1 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x54)" ( (binary_expression "*(int *)param_1 + 0x54" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)PTR_do_section_link_004c3dac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }" { (ERROR "uVar2 = elfcpp::Elf_file<64,true,gold::" (comma_expression "uVar2 = elfcpp::Elf_file<64,true,gold" (binary_expression "uVar2 = elfcpp::Elf_file<64" (assignment_expression "uVar2 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (expression_statement "Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier > (ERROR "::" : :) (call_expression "section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier (argument_list "((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" ( (call_expression "(Elf_file<64,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<64,true,gold::Object> *)" ( (ERROR "Elf_file<64,true,gold::" (comma_expression "Elf_file<64,true,gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) , (pointer_expression "*(uint *)(param_1 + 0xb4)" * (cast_expression "(uint *)(param_1 + 0xb4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) )))) ;) }) (else_clause "else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" else (compound_statement "{\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" { (expression_statement "uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);" (assignment_expression "uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1)" identifier = (call_expression "(**(code **)(*(int *)param_1 + 0x54))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x54))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x54)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x54)" * (cast_expression "(code **)(*(int *)param_1 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x54)" ( (binary_expression "*(int *)param_1 + 0x54" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) }))) (if_statement "if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }" if (parenthesized_expression "(0xfeff < uVar2)" ( (binary_expression "0xfeff < uVar2" number_literal < identifier) )) (compound_statement "{\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }" { (expression_statement "local_40 = uVar2;" (assignment_expression "local_40 = uVar2" identifier = identifier) ;) (expression_statement "(*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fc0)" ( (pointer_expression "*(code *)PTR_initialize_shnum_004c1fc0" * (cast_expression "(code *)PTR_initialize_shnum_004c1fc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) ;) (expression_statement "uVar2 = local_40 + *(int *)(param_1 + 0xa8);" (assignment_expression "uVar2 = local_40 + *(int *)(param_1 + 0xa8)" identifier = (binary_expression "local_40 + *(int *)(param_1 + 0xa8)" identifier + (pointer_expression "*(int *)(param_1 + 0xa8)" * (cast_expression "(int *)(param_1 + 0xa8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa8)" ( (binary_expression "param_1 + 0xa8" identifier + number_literal) )))))) ;) })) (expression_statement "local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);" (assignment_expression "local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" identifier = (call_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" * (cast_expression "(code **)(*(int *)param_1 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x38)" ( (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1,uVar2,&local_48,0)" ( identifier , identifier , (pointer_expression "&local_48" & identifier) , number_literal )))) ;) (if_statement "if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(0x17 < local_44)" ( (binary_expression "0x17 < local_44" number_literal < identifier) )) (compound_statement "{\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }" { (expression_statement "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0" identifier = (cast_expression "(code *)PTR_sym_xindex_to_shndx_004c1ab0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x509c" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal)) ;) (do_statement "do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );" do (compound_statement "{\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      }" { (while_statement "while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }" while (parenthesized_expression "((puVar1[1] & 0xf000000) != 0x4000000)" ( (binary_expression "(puVar1[1] & 0xf000000) != 0x4000000" (parenthesized_expression "(puVar1[1] & 0xf000000)" ( (binary_expression "puVar1[1] & 0xf000000" (subscript_expression "puVar1[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }" { (expression_statement "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);" (assignment_expression "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6)" identifier = (binary_expression "(Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6)" (cast_expression "(Symbol_location_info *)(uint)" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)((int)puVar1 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + 6)" ( (binary_expression "(int)puVar1 + 6" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" if (parenthesized_expression "(pSVar3 < (Symbol_location_info *)0xff00)" ( (binary_expression "pSVar3 < (Symbol_location_info *)0xff00" identifier < (cast_expression "(Symbol_location_info *)0xff00" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }" { (if_statement "if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }" if (parenthesized_expression "(param_3 == pSVar3)" ( (binary_expression "param_3 == pSVar3" identifier == identifier) )) (compound_statement "{\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }" { (expression_statement "uVar7 = puVar1[2];" (assignment_expression "uVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (labeled_statement "LAB_001e17bc:\n              uVar4 = puVar1[3];" statement_identifier : (expression_statement "uVar4 = puVar1[3];" (assignment_expression "uVar4 = puVar1[3]" identifier = (subscript_expression "puVar1[3]" identifier [ number_literal ])) ;)) (if_statement "if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }" if (parenthesized_expression "((int)uVar7 <= (int)in_a2)" ( (binary_expression "(int)uVar7 <= (int)in_a2" (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }" { (if_statement "if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }" if (parenthesized_expression "(uVar7 == in_a2)" ( (binary_expression "uVar7 == in_a2" identifier == identifier) )) (compound_statement "{\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }" { (if_statement "if (local_2c < uVar4) goto LAB_001e1784;" if (parenthesized_expression "(local_2c < uVar4)" ( (binary_expression "local_2c < uVar4" identifier < identifier) )) (goto_statement "goto LAB_001e1784;" goto statement_identifier ;)) (expression_statement "uVar8 = puVar1[5];" (assignment_expression "uVar8 = puVar1[5]" identifier = (subscript_expression "puVar1[5]" identifier [ number_literal ])) ;) }) (else_clause "else {\n                  uVar8 = puVar1[5];\n                }" else (compound_statement "{\n                  uVar8 = puVar1[5];\n                }" { (expression_statement "uVar8 = puVar1[5];" (assignment_expression "uVar8 = puVar1[5]" identifier = (subscript_expression "puVar1[5]" identifier [ number_literal ])) ;) }))) (expression_statement "uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];" (assignment_expression "uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4]" identifier = (binary_expression "(uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4]" (binary_expression "(uint)(uVar4 + uVar8 < uVar4) + uVar7" (call_expression "(uint)(uVar4 + uVar8 < uVar4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 + uVar8 < uVar4)" ( (binary_expression "uVar4 + uVar8 < uVar4" (binary_expression "uVar4 + uVar8" identifier + identifier) < identifier) ))) + identifier) + (subscript_expression "puVar1[4]" identifier [ number_literal ]))) ;) (if_statement "if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }" if (parenthesized_expression "(((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8))))" ( (binary_expression "((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))" (parenthesized_expression "((int)in_a2 < (int)uVar7)" ( (binary_expression "(int)in_a2 < (int)uVar7" (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)uVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))" ( (parenthesized_expression "(uVar7 == in_a2 && (local_2c < uVar4 + uVar8))" ( (binary_expression "uVar7 == in_a2 && (local_2c < uVar4 + uVar8)" (binary_expression "uVar7 == in_a2" identifier == identifier) && (parenthesized_expression "(local_2c < uVar4 + uVar8)" ( (binary_expression "local_2c < uVar4 + uVar8" identifier < (binary_expression "uVar4 + uVar8" identifier + identifier)) ))) )) ))) )) (compound_statement "{\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }" { (expression_statement "uVar2 = *puVar1;" (assignment_expression "uVar2 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;" (assignment_expression "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(uint *)(param_2._0_4_ + 0x30)" * (cast_expression "(uint *)(param_2._0_4_ + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 0x30)" ( (binary_expression "param_2._0_4_ + 0x30" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) )))) = (binary_expression "*(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(byte *)(puVar1 + 1)" * (cast_expression "(byte *)(puVar1 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 1)" ( (binary_expression "puVar1 + 1" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar9 = param_2._0_4_ + 0x18;" (assignment_expression "iVar9 = param_2._0_4_ + 0x18" identifier = (binary_expression "param_2._0_4_ + 0x18" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal)) ;) (if_statement "if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }" if (parenthesized_expression "(local_48 < uVar2)" ( (binary_expression "local_48 < uVar2" identifier < identifier) )) (compound_statement "{\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,PTR_s__s_004c1a50 + 0x509c)" ( identifier , (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal) ))) ;) (return_statement "return 1;" return number_literal ;) })) (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,local_34 + uVar2)" ( identifier , (binary_expression "local_34 + uVar2" identifier + identifier) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }" { (expression_statement "uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);" (assignment_expression "uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" identifier = (binary_expression "(uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (if_statement "if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }" if (parenthesized_expression "((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0))" ( (binary_expression "(uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)" ( (comma_expression "iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0" (assignment_expression "iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3)" identifier = (call_expression "(*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3)" (parenthesized_expression "(*(code *)PTR_cplus_demangle_004c280c)" ( (pointer_expression "*(code *)PTR_cplus_demangle_004c280c" * (cast_expression "(code *)PTR_cplus_demangle_004c280c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(param_2._0_4_ + 0x18),3)" ( (pointer_expression "*(undefined4 *)(param_2._0_4_ + 0x18)" * (cast_expression "(undefined4 *)(param_2._0_4_ + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 0x18)" ( (binary_expression "param_2._0_4_ + 0x18" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) )))) , number_literal )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,iVar6);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,iVar6)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" ( (pointer_expression "*(code *)PTR_assign_004c3d50" * (cast_expression "(code *)PTR_assign_004c3d50" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,iVar6)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar6);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar6)" (parenthesized_expression "(*(code *)PTR_free_004c5c18)" ( (pointer_expression "*(code *)PTR_free_004c5c18" * (cast_expression "(code *)PTR_free_004c5c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6)" ( identifier ))) ;) (return_statement "return uVar2;" return identifier ;) })) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x61ac" identifier + number_literal) )))) ;) (return_statement "return uVar2;" return identifier ;) })) })) })) }) (else_clause "else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" else (if_statement "if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" if (parenthesized_expression "(pSVar3 == (Symbol_location_info *)0xffff)" ( (binary_expression "pSVar3 == (Symbol_location_info *)0xffff" identifier == (cast_expression "(Symbol_location_info *)0xffff" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" { (expression_statement "iVar9 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }" { (expression_statement "iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);" (assignment_expression "iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1)" identifier = (call_expression "(**(code **)(*(int *)param_1 + 0x6c))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x6c))" ( (pointer_expression "**(code **)(*(int *)param_1 + 0x6c)" * (pointer_expression "*(code **)(*(int *)param_1 + 0x6c)" * (cast_expression "(code **)(*(int *)param_1 + 0x6c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_1 + 0x6c)" ( (binary_expression "*(int *)param_1 + 0x6c" (pointer_expression "*(int *)param_1" * (cast_expression "(int *)param_1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "*(int *)(param_1 + 0x30) = iVar9;" (assignment_expression "*(int *)(param_1 + 0x30) = iVar9" (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);" (assignment_expression "pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2)" identifier = (cast_expression "(Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2)" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_38)(iVar9,param_1,uVar2)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(iVar9,param_1,uVar2)" ( identifier , identifier , identifier ))))) ;) (if_statement "if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }" if (parenthesized_expression "(param_3 == pSVar3)" ( (binary_expression "param_3 == pSVar3" identifier == identifier) )) (compound_statement "{\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }" { (expression_statement "uVar7 = puVar1[2];" (assignment_expression "uVar7 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001e17bc;" goto statement_identifier ;) })) })))) (labeled_statement "LAB_001e1784:\n          uVar2 = uVar2 + 1;" statement_identifier : (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;)) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" identifier = (binary_expression "puVar1 + 6" identifier + number_literal)) ;) (if_statement "if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }" if (parenthesized_expression "(local_44 / 0x18 <= uVar2)" ( (binary_expression "local_44 / 0x18 <= uVar2" (binary_expression "local_44 / 0x18" identifier / number_literal) <= identifier) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) })) (if_statement "if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }" if (parenthesized_expression "(*puVar1 < local_48)" ( (binary_expression "*puVar1 < local_48" (pointer_expression "*puVar1" * identifier) < identifier) )) (compound_statement "{\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }" { (expression_statement "local_40 = local_34 + *puVar1;" (assignment_expression "local_40 = local_34 + *puVar1" identifier = (binary_expression "local_34 + *puVar1" identifier + (pointer_expression "*puVar1" * identifier))) ;) (expression_statement "local_3c = *(undefined4 *)(param_2._0_4_ + 4);" (assignment_expression "local_3c = *(undefined4 *)(param_2._0_4_ + 4)" identifier = (pointer_expression "*(undefined4 *)(param_2._0_4_ + 4)" * (cast_expression "(undefined4 *)(param_2._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 4)" ( (binary_expression "param_2._0_4_ + 4" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(local_40)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_40)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2._0_4_,0,local_3c,local_40,uVar5)" ( (field_expression "param_2._0_4_" identifier . field_identifier) , number_literal , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001e1784;" goto statement_identifier ;) })) (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" ( (pointer_expression "*(code *)PTR__M_replace_004c20a0" * (cast_expression "(code *)PTR__M_replace_004c20a0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9)" ( (field_expression "param_2._0_4_" identifier . field_identifier) , number_literal , (pointer_expression "*(undefined4 *)(param_2._0_4_ + 4)" * (cast_expression "(undefined4 *)(param_2._0_4_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2._0_4_ + 4)" ( (binary_expression "param_2._0_4_ + 4" (field_expression "param_2._0_4_" identifier . field_identifier) + number_literal) )))) , identifier , number_literal ))) ;) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" identifier = (binary_expression "puVar1 + 6" identifier + number_literal)) ;) (if_statement "if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }" if (parenthesized_expression "(local_44 / 0x18 <= uVar2)" ( (binary_expression "local_44 / 0x18 <= uVar2" (binary_expression "local_44 / 0x18" identifier / number_literal) <= identifier) )) (compound_statement "{\n          return 0;\n        }" { (return_statement "return 0;" return number_literal ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (return_statement "return 0;" return number_literal ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : :) IDENT (ERROR < LIT) , (ERROR IDENT > : : (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { IDENT) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (ERROR (comma_expression (binary_expression (assignment_expression IDENT = IDENT) (ERROR : : IDENT) < LIT) , (comma_expression BOOL , IDENT)) : :) (expression_statement (binary_expression IDENT > (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , IDENT)) : :) (binary_expression IDENT > (pointer_expression * IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) < IDENT) ))) + IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + IDENT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (return_statement return LIT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })) (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT / LIT) <= IDENT) )) (compound_statement { (return_statement return LIT ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + 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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (field_expression IDENT . field_identifier) , LIT , IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (field_expression IDENT . field_identifier) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT / LIT) <= IDENT) )) (compound_statement { (return_statement return LIT ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) })) (return_statement return LIT ;) (ERROR }))
(declaration "uint gold::Sized_relobj_file<64,true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint *puVar1;" (type_identifier "uint") (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Sized_relobj_file") (ERROR "<64" (< "<") (number_literal "64")) (, ",") (ERROR "true>::get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)\n\n{\n  uint" (identifier "true") (> ">") (: ":") (: ":") (function_declarator "get_symbol_location_info\n               (uint param_1,longlong param_2,Symbol_location_info *param_3)" (identifier "get_symbol_location_info") (parameter_list "(uint param_1,longlong param_2,Symbol_location_info *param_3)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "longlong param_2" (type_identifier "longlong") (identifier "param_2")) (, ",") (parameter_declaration "Symbol_location_info *param_3" (type_identifier "Symbol_location_info") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) ({ "{") (identifier "uint")) (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "Symbol_location_info *pSVar3;" (type_identifier "Symbol_location_info") (pointer_declarator "*pSVar3" (* "*") (identifier "pSVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint in_a2;" (type_identifier "uint") (identifier "in_a2") (; ";")) (declaration "uint in_a3;" (type_identifier "uint") (identifier "in_a3") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "code *local_38;" (type_identifier "code") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined *local_30;" (type_identifier "undefined") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (if_statement "if (*(int *)(param_1 + 0xb4) != 0) {\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0xb4) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xb4) != 0" (pointer_expression "*(int *)(param_1 + 0xb4)" (* "*") (cast_expression "(int *)(param_1 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb4)" (( "(") (binary_expression "param_1 + 0xb4" (identifier "param_1") (+ "+") (number_literal "0xb4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_2c = in_a3;\n    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);\n    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }\n    if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }\n  }" ({ "{") (expression_statement "local_2c = in_a3;" (assignment_expression "local_2c = in_a3" (identifier "local_2c") (= "=") (identifier "in_a3")) (; ";")) (expression_statement "puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);" (assignment_expression "puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*(int *)param_1 + 0x38))\n                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" (( "(") (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" (* "*") (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" (* "*") (cast_expression "(code **)(*(int *)param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x38)" (( "(") (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(param_1,*(int *)(param_1 + 0xb4),&local_44,0)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*(int *)(param_1 + 0xb4)" (* "*") (cast_expression "(int *)(param_1 + 0xb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb4)" (( "(") (binary_expression "param_1 + 0xb4" (identifier "param_1") (+ "+") (number_literal "0xb4")) () ")")))) (, ",") (pointer_expression "&local_44" (& "&") (identifier "local_44")) (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }\n    else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" (if "if") (parenthesized_expression "(*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac)" (( "(") (binary_expression "*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac" (pointer_expression "*(code **)(*(int *)param_1 + 0x54)" (* "*") (cast_expression "(code **)(*(int *)param_1 + 0x54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x54)" (( "(") (binary_expression "*(int *)param_1 + 0x54" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x54")) () ")")))) (== "==") (cast_expression "(code *)PTR_do_section_link_004c3dac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_section_link_004c3dac"))) () ")")) (compound_statement "{\n      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }" ({ "{") (ERROR "uVar2 = elfcpp::Elf_file<64,true,gold::" (comma_expression "uVar2 = elfcpp::Elf_file<64,true,gold" (binary_expression "uVar2 = elfcpp::Elf_file<64" (assignment_expression "uVar2 = elfcpp" (identifier "uVar2") (= "=") (identifier "elfcpp")) (ERROR "::Elf_file" (: ":") (: ":") (identifier "Elf_file")) (< "<") (number_literal "64")) (, ",") (comma_expression "true,gold" (true "true") (, ",") (identifier "gold"))) (: ":") (: ":")) (expression_statement "Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" (identifier "Object") (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "section_link\n                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" (identifier "section_link") (argument_list "((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" (( "(") (call_expression "(Elf_file<64,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<64,true,gold::Object> *)" (( "(") (ERROR "Elf_file<64,true,gold::" (comma_expression "Elf_file<64,true,gold" (binary_expression "Elf_file<64" (identifier "Elf_file") (< "<") (number_literal "64")) (, ",") (comma_expression "true,gold" (true "true") (, ",") (identifier "gold"))) (: ":") (: ":")) (binary_expression "Object> *" (identifier "Object") (> ">") (pointer_expression "*" (* "*") (identifier ""))) () ")")) (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))) (, ",") (pointer_expression "*(uint *)(param_1 + 0xb4)" (* "*") (cast_expression "(uint *)(param_1 + 0xb4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb4)" (( "(") (binary_expression "param_1 + 0xb4" (identifier "param_1") (+ "+") (number_literal "0xb4")) () ")")))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" (else "else") (compound_statement "{\n      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);\n    }" ({ "{") (expression_statement "uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);" (assignment_expression "uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1)" (identifier "uVar2") (= "=") (call_expression "(**(code **)(*(int *)param_1 + 0x54))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x54))" (( "(") (pointer_expression "**(code **)(*(int *)param_1 + 0x54)" (* "*") (pointer_expression "*(code **)(*(int *)param_1 + 0x54)" (* "*") (cast_expression "(code **)(*(int *)param_1 + 0x54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x54)" (( "(") (binary_expression "*(int *)param_1 + 0x54" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x54")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (} "}")))) (if_statement "if (0xfeff < uVar2) {\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }" (if "if") (parenthesized_expression "(0xfeff < uVar2)" (( "(") (binary_expression "0xfeff < uVar2" (number_literal "0xfeff") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n      local_40 = uVar2;\n      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }" ({ "{") (expression_statement "local_40 = uVar2;" (assignment_expression "local_40 = uVar2" (identifier "local_40") (= "=") (identifier "uVar2")) (; ";")) (expression_statement "(*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fc0)" (( "(") (pointer_expression "*(code *)PTR_initialize_shnum_004c1fc0" (* "*") (cast_expression "(code *)PTR_initialize_shnum_004c1fc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_initialize_shnum_004c1fc0"))) () ")")) (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))) (; ";")) (expression_statement "uVar2 = local_40 + *(int *)(param_1 + 0xa8);" (assignment_expression "uVar2 = local_40 + *(int *)(param_1 + 0xa8)" (identifier "uVar2") (= "=") (binary_expression "local_40 + *(int *)(param_1 + 0xa8)" (identifier "local_40") (+ "+") (pointer_expression "*(int *)(param_1 + 0xa8)" (* "*") (cast_expression "(int *)(param_1 + 0xa8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa8)" (( "(") (binary_expression "param_1 + 0xa8" (identifier "param_1") (+ "+") (number_literal "0xa8")) () ")")))))) (; ";")) (} "}"))) (expression_statement "local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);" (assignment_expression "local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" (identifier "local_34") (= "=") (call_expression "(**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x38))" (( "(") (pointer_expression "**(code **)(*(int *)param_1 + 0x38)" (* "*") (pointer_expression "*(code **)(*(int *)param_1 + 0x38)" (* "*") (cast_expression "(code **)(*(int *)param_1 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x38)" (( "(") (binary_expression "*(int *)param_1 + 0x38" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(param_1,uVar2,&local_48,0)" (( "(") (identifier "param_1") (, ",") (identifier "uVar2") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (0x17 < local_44) {\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }" (if "if") (parenthesized_expression "(0x17 < local_44)" (( "(") (binary_expression "0x17 < local_44" (number_literal "0x17") (< "<") (identifier "local_44")) () ")")) (compound_statement "{\n      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      uVar2 = 0;\n      local_30 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );\n    }" ({ "{") (expression_statement "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0" (identifier "local_38") (= "=") (cast_expression "(code *)PTR_sym_xindex_to_shndx_004c1ab0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sym_xindex_to_shndx_004c1ab0"))) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "local_30 = PTR_s__s_004c1a50 + 0x509c" (identifier "local_30") (= "=") (binary_expression "PTR_s__s_004c1a50 + 0x509c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x509c"))) (; ";")) (do_statement "do {\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      } while( true );" (do "do") (compound_statement "{\n        while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }\n        if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }\n        uVar2 = uVar2 + 1;\n        (*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);\n        puVar1 = puVar1 + 6;\n        if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }\n      }" ({ "{") (while_statement "while ((puVar1[1] & 0xf000000) != 0x4000000) {\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }" (while "while") (parenthesized_expression "((puVar1[1] & 0xf000000) != 0x4000000)" (( "(") (binary_expression "(puVar1[1] & 0xf000000) != 0x4000000" (parenthesized_expression "(puVar1[1] & 0xf000000)" (( "(") (binary_expression "puVar1[1] & 0xf000000" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xf000000")) () ")")) (!= "!=") (number_literal "0x4000000")) () ")")) (compound_statement "{\n          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);\n          if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }\nLAB_001e1784:\n          uVar2 = uVar2 + 1;\n          puVar1 = puVar1 + 6;\n          if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }\n        }" ({ "{") (expression_statement "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);" (assignment_expression "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6)" (identifier "pSVar3") (= "=") (binary_expression "(Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6)" (cast_expression "(Symbol_location_info *)(uint)" (( "(") (type_descriptor "Symbol_location_info *" (type_identifier "Symbol_location_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)((int)puVar1 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + 6)" (( "(") (binary_expression "(int)puVar1 + 6" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (if_statement "if (pSVar3 < (Symbol_location_info *)0xff00) {\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }\n          else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" (if "if") (parenthesized_expression "(pSVar3 < (Symbol_location_info *)0xff00)" (( "(") (binary_expression "pSVar3 < (Symbol_location_info *)0xff00" (identifier "pSVar3") (< "<") (cast_expression "(Symbol_location_info *)0xff00" (( "(") (type_descriptor "Symbol_location_info *" (type_identifier "Symbol_location_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xff00"))) () ")")) (compound_statement "{\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }\n          }" ({ "{") (if_statement "if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }" (if "if") (parenthesized_expression "(param_3 == pSVar3)" (( "(") (binary_expression "param_3 == pSVar3" (identifier "param_3") (== "==") (identifier "pSVar3")) () ")")) (compound_statement "{\n              uVar7 = puVar1[2];\nLAB_001e17bc:\n              uVar4 = puVar1[3];\n              if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }\n            }" ({ "{") (expression_statement "uVar7 = puVar1[2];" (assignment_expression "uVar7 = puVar1[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (labeled_statement "LAB_001e17bc:\n              uVar4 = puVar1[3];" (statement_identifier "LAB_001e17bc") (: ":") (expression_statement "uVar4 = puVar1[3];" (assignment_expression "uVar4 = puVar1[3]" (identifier "uVar4") (= "=") (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]"))) (; ";"))) (if_statement "if ((int)uVar7 <= (int)in_a2) {\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }" (if "if") (parenthesized_expression "((int)uVar7 <= (int)in_a2)" (( "(") (binary_expression "(int)uVar7 <= (int)in_a2" (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7")) (<= "<=") (cast_expression "(int)in_a2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_a2"))) () ")")) (compound_statement "{\n                if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }\n                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];\n                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }\n              }" ({ "{") (if_statement "if (uVar7 == in_a2) {\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }\n                else {\n                  uVar8 = puVar1[5];\n                }" (if "if") (parenthesized_expression "(uVar7 == in_a2)" (( "(") (binary_expression "uVar7 == in_a2" (identifier "uVar7") (== "==") (identifier "in_a2")) () ")")) (compound_statement "{\n                  if (local_2c < uVar4) goto LAB_001e1784;\n                  uVar8 = puVar1[5];\n                }" ({ "{") (if_statement "if (local_2c < uVar4) goto LAB_001e1784;" (if "if") (parenthesized_expression "(local_2c < uVar4)" (( "(") (binary_expression "local_2c < uVar4" (identifier "local_2c") (< "<") (identifier "uVar4")) () ")")) (goto_statement "goto LAB_001e1784;" (goto "goto") (statement_identifier "LAB_001e1784") (; ";"))) (expression_statement "uVar8 = puVar1[5];" (assignment_expression "uVar8 = puVar1[5]" (identifier "uVar8") (= "=") (subscript_expression "puVar1[5]" (identifier "puVar1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n                  uVar8 = puVar1[5];\n                }" (else "else") (compound_statement "{\n                  uVar8 = puVar1[5];\n                }" ({ "{") (expression_statement "uVar8 = puVar1[5];" (assignment_expression "uVar8 = puVar1[5]" (identifier "uVar8") (= "=") (subscript_expression "puVar1[5]" (identifier "puVar1") ([ "[") (number_literal "5") (] "]"))) (; ";")) (} "}")))) (expression_statement "uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];" (assignment_expression "uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4]" (identifier "uVar7") (= "=") (binary_expression "(uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4]" (binary_expression "(uint)(uVar4 + uVar8 < uVar4) + uVar7" (call_expression "(uint)(uVar4 + uVar8 < uVar4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 + uVar8 < uVar4)" (( "(") (binary_expression "uVar4 + uVar8 < uVar4" (binary_expression "uVar4 + uVar8" (identifier "uVar4") (+ "+") (identifier "uVar8")) (< "<") (identifier "uVar4")) () ")"))) (+ "+") (identifier "uVar7")) (+ "+") (subscript_expression "puVar1[4]" (identifier "puVar1") ([ "[") (number_literal "4") (] "]")))) (; ";")) (if_statement "if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }" (if "if") (parenthesized_expression "(((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8))))" (( "(") (binary_expression "((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))" (parenthesized_expression "((int)in_a2 < (int)uVar7)" (( "(") (binary_expression "(int)in_a2 < (int)uVar7" (cast_expression "(int)in_a2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "in_a2")) (< "<") (cast_expression "(int)uVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar7"))) () ")")) (|| "||") (parenthesized_expression "((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))" (( "(") (parenthesized_expression "(uVar7 == in_a2 && (local_2c < uVar4 + uVar8))" (( "(") (binary_expression "uVar7 == in_a2 && (local_2c < uVar4 + uVar8)" (binary_expression "uVar7 == in_a2" (identifier "uVar7") (== "==") (identifier "in_a2")) (&& "&&") (parenthesized_expression "(local_2c < uVar4 + uVar8)" (( "(") (binary_expression "local_2c < uVar4 + uVar8" (identifier "local_2c") (< "<") (binary_expression "uVar4 + uVar8" (identifier "uVar4") (+ "+") (identifier "uVar8"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                  uVar2 = *puVar1;\n                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;\n                  iVar9 = param_2._0_4_ + 0x18;\n                  if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }\n                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);\n                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }\n                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);\n                  return uVar2;\n                }" ({ "{") (expression_statement "uVar2 = *puVar1;" (assignment_expression "uVar2 = *puVar1" (identifier "uVar2") (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;" (assignment_expression "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(uint *)(param_2._0_4_ + 0x30)" (* "*") (cast_expression "(uint *)(param_2._0_4_ + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2._0_4_ + 0x30)" (( "(") (binary_expression "param_2._0_4_ + 0x30" (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "*(byte *)(puVar1 + 1) & 0xf" (pointer_expression "*(byte *)(puVar1 + 1)" (* "*") (cast_expression "(byte *)(puVar1 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 1)" (( "(") (binary_expression "puVar1 + 1" (identifier "puVar1") (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0xf"))) (; ";")) (expression_statement "iVar9 = param_2._0_4_ + 0x18;" (assignment_expression "iVar9 = param_2._0_4_ + 0x18" (identifier "iVar9") (= "=") (binary_expression "param_2._0_4_ + 0x18" (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x18"))) (; ";")) (if_statement "if (local_48 < uVar2) {\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }" (if "if") (parenthesized_expression "(local_48 < uVar2)" (( "(") (binary_expression "local_48 < uVar2" (identifier "local_48") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);\n                    return 1;\n                  }" ({ "{") (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" (( "(") (pointer_expression "*(code *)PTR_assign_004c3d50" (* "*") (cast_expression "(code *)PTR_assign_004c3d50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_assign_004c3d50"))) () ")")) (argument_list "(iVar9,PTR_s__s_004c1a50 + 0x509c)" (( "(") (identifier "iVar9") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x509c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x509c")) () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" (( "(") (pointer_expression "*(code *)PTR_assign_004c3d50" (* "*") (cast_expression "(code *)PTR_assign_004c3d50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_assign_004c3d50"))) () ")")) (argument_list "(iVar9,local_34 + uVar2)" (( "(") (identifier "iVar9") (, ",") (binary_expression "local_34 + uVar2" (identifier "local_34") (+ "+") (identifier "uVar2")) () ")"))) (; ";")) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                    if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }\n                    return 1;\n                  }" ({ "{") (expression_statement "uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);" (assignment_expression "uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" (identifier "uVar2") (= "=") (binary_expression "(uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 8)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 8" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x5949")) () ")"))))) (; ";")) (if_statement "if ((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }" (if "if") (parenthesized_expression "((uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0))" (( "(") (binary_expression "(uVar2 != 0) &&\n                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)" (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)" (( "(") (comma_expression "iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0" (assignment_expression "iVar6 = (*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_cplus_demangle_004c280c)\n                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3)" (parenthesized_expression "(*(code *)PTR_cplus_demangle_004c280c)" (( "(") (pointer_expression "*(code *)PTR_cplus_demangle_004c280c" (* "*") (cast_expression "(code *)PTR_cplus_demangle_004c280c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cplus_demangle_004c280c"))) () ")")) (argument_list "(*(undefined4 *)(param_2._0_4_ + 0x18),3)" (( "(") (pointer_expression "*(undefined4 *)(param_2._0_4_ + 0x18)" (* "*") (cast_expression "(undefined4 *)(param_2._0_4_ + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2._0_4_ + 0x18)" (( "(") (binary_expression "param_2._0_4_ + 0x18" (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x18")) () ")")))) (, ",") (number_literal "3") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);\n                      (*(code *)PTR_free_004c5c18)(iVar6);\n                      return uVar2;\n                    }" ({ "{") (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar9,iVar6);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar9,iVar6)" (parenthesized_expression "(*(code *)PTR_assign_004c3d50)" (( "(") (pointer_expression "*(code *)PTR_assign_004c3d50" (* "*") (cast_expression "(code *)PTR_assign_004c3d50" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_assign_004c3d50"))) () ")")) (argument_list "(iVar9,iVar6)" (( "(") (identifier "iVar9") (, ",") (identifier "iVar6") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar6);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar6)" (parenthesized_expression "(*(code *)PTR_free_004c5c18)" (( "(") (pointer_expression "*(code *)PTR_free_004c5c18" (* "*") (cast_expression "(code *)PTR_free_004c5c18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_004c5c18"))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (expression_statement "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac);" (assignment_expression "uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,\n                                     PTR_s__s_004c1a50 + 0x61ac)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x61ac" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x61ac")) () ")")))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" (else "else") (if_statement "if (pSVar3 == (Symbol_location_info *)0xffff) {\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" (if "if") (parenthesized_expression "(pSVar3 == (Symbol_location_info *)0xffff)" (( "(") (binary_expression "pSVar3 == (Symbol_location_info *)0xffff" (identifier "pSVar3") (== "==") (cast_expression "(Symbol_location_info *)0xffff" (( "(") (type_descriptor "Symbol_location_info *" (type_identifier "Symbol_location_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffff"))) () ")")) (compound_statement "{\n            iVar9 = *(int *)(param_1 + 0x30);\n            if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }\n            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);\n            if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }\n          }" ({ "{") (expression_statement "iVar9 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar9 = *(int *)(param_1 + 0x30)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (iVar9 == 0) {\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n              *(int *)(param_1 + 0x30) = iVar9;\n            }" ({ "{") (expression_statement "iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);" (assignment_expression "iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(*(int *)param_1 + 0x6c))(param_1)" (parenthesized_expression "(**(code **)(*(int *)param_1 + 0x6c))" (( "(") (pointer_expression "**(code **)(*(int *)param_1 + 0x6c)" (* "*") (pointer_expression "*(code **)(*(int *)param_1 + 0x6c)" (* "*") (cast_expression "(code **)(*(int *)param_1 + 0x6c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_1 + 0x6c)" (( "(") (binary_expression "*(int *)param_1 + 0x6c" (pointer_expression "*(int *)param_1" (* "*") (cast_expression "(int *)param_1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (+ "+") (number_literal "0x6c")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "*(int *)(param_1 + 0x30) = iVar9;" (assignment_expression "*(int *)(param_1 + 0x30) = iVar9" (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (} "}"))) (expression_statement "pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);" (assignment_expression "pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2)" (identifier "pSVar3") (= "=") (cast_expression "(Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2)" (( "(") (type_descriptor "Symbol_location_info *" (type_identifier "Symbol_location_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_38)(iVar9,param_1,uVar2)" (parenthesized_expression "(*local_38)" (( "(") (pointer_expression "*local_38" (* "*") (identifier "local_38")) () ")")) (argument_list "(iVar9,param_1,uVar2)" (( "(") (identifier "iVar9") (, ",") (identifier "param_1") (, ",") (identifier "uVar2") () ")"))))) (; ";")) (if_statement "if (param_3 == pSVar3) {\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }" (if "if") (parenthesized_expression "(param_3 == pSVar3)" (( "(") (binary_expression "param_3 == pSVar3" (identifier "param_3") (== "==") (identifier "pSVar3")) () ")")) (compound_statement "{\n              uVar7 = puVar1[2];\n              goto LAB_001e17bc;\n            }" ({ "{") (expression_statement "uVar7 = puVar1[2];" (assignment_expression "uVar7 = puVar1[2]" (identifier "uVar7") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto LAB_001e17bc;" (goto "goto") (statement_identifier "LAB_001e17bc") (; ";")) (} "}"))) (} "}"))))) (labeled_statement "LAB_001e1784:\n          uVar2 = uVar2 + 1;" (statement_identifier "LAB_001e1784") (: ":") (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" (identifier "uVar2") (= "=") (binary_expression "uVar2 + 1" (identifier "uVar2") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 6" (identifier "puVar1") (+ "+") (number_literal "6"))) (; ";")) (if_statement "if (local_44 / 0x18 <= uVar2) {\n            return 0;\n          }" (if "if") (parenthesized_expression "(local_44 / 0x18 <= uVar2)" (( "(") (binary_expression "local_44 / 0x18 <= uVar2" (binary_expression "local_44 / 0x18" (identifier "local_44") (/ "/") (number_literal "0x18")) (<= "<=") (identifier "uVar2")) () ")")) (compound_statement "{\n            return 0;\n          }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (if_statement "if (*puVar1 < local_48) {\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }" (if "if") (parenthesized_expression "(*puVar1 < local_48)" (( "(") (binary_expression "*puVar1 < local_48" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (< "<") (identifier "local_48")) () ")")) (compound_statement "{\n          local_40 = local_34 + *puVar1;\n          local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);\n          goto LAB_001e1784;\n        }" ({ "{") (expression_statement "local_40 = local_34 + *puVar1;" (assignment_expression "local_40 = local_34 + *puVar1" (identifier "local_40") (= "=") (binary_expression "local_34 + *puVar1" (identifier "local_34") (+ "+") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")))) (; ";")) (expression_statement "local_3c = *(undefined4 *)(param_2._0_4_ + 4);" (assignment_expression "local_3c = *(undefined4 *)(param_2._0_4_ + 4)" (identifier "local_3c") (= "=") (pointer_expression "*(undefined4 *)(param_2._0_4_ + 4)" (* "*") (cast_expression "(undefined4 *)(param_2._0_4_ + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2._0_4_ + 4)" (( "(") (binary_expression "param_2._0_4_ + 4" (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(local_40)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(local_40)" (( "(") (identifier "local_40") () ")")))) (; ";")) (expression_statement "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(param_2._0_4_,0,local_3c,local_40,uVar5)" (( "(") (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "0") (, ",") (identifier "local_3c") (, ",") (identifier "local_40") (, ",") (identifier "uVar5") () ")"))) (; ";")) (goto_statement "goto LAB_001e1784;" (goto "goto") (statement_identifier "LAB_001e1784") (; ";")) (} "}"))) (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" (identifier "uVar2") (= "=") (binary_expression "uVar2 + 1" (identifier "uVar2") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9)" (parenthesized_expression "(*(code *)PTR__M_replace_004c20a0)" (( "(") (pointer_expression "*(code *)PTR__M_replace_004c20a0" (* "*") (cast_expression "(code *)PTR__M_replace_004c20a0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_004c20a0"))) () ")")) (argument_list "(param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9)" (( "(") (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(param_2._0_4_ + 4)" (* "*") (cast_expression "(undefined4 *)(param_2._0_4_ + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2._0_4_ + 4)" (( "(") (binary_expression "param_2._0_4_ + 4" (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "local_30") (, ",") (number_literal "9") () ")"))) (; ";")) (expression_statement "puVar1 = puVar1 + 6;" (assignment_expression "puVar1 = puVar1 + 6" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 6" (identifier "puVar1") (+ "+") (number_literal "6"))) (; ";")) (if_statement "if (local_44 / 0x18 <= uVar2) {\n          return 0;\n        }" (if "if") (parenthesized_expression "(local_44 / 0x18 <= uVar2)" (( "(") (binary_expression "local_44 / 0x18 <= uVar2" (binary_expression "local_44 / 0x18" (identifier "local_44") (/ "/") (number_literal "0x18")) (<= "<=") (identifier "uVar2")) () ")")) (compound_statement "{\n          return 0;\n        }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Enum "STT": Some values do not have unique names */
/* DWARF original prototype: bool get_symbol_location_info(Sized_relobj_file<64,_true> * this, uint
   shndx, off_t offset, Symbol_location_info * info) */

bool __thiscall
gold::Sized_relobj_file<64,_true>::get_symbol_location_info
          (Sized_relobj_file<64,_true> *this,type_2 var_12,off_t offset,type_3 *var_14)

{
  type_2 *var_10;
  type_1 var_3;
  type_2 var_11;
  int var_18;
  char var_17;
  type_3 *var_13;
  type_4 *var_31;
  int *var_23;
  type_5 *var_24;
  type_2 var_16;
  type_6 *var_29;
  type_2 in_a3;
  int var_27;
  type_7 *var_21;
  type_8 *var_1;
  type_9 *var_20;
  type_2 var_9;
  type_7 *var_25;
  type_10 LStack_b0;
  type_10 LStack_a0;
  int iStack_90;
  int var_28;
  type_1 var_26;
  type_2 *puStack_7c;
  int iStack_78;
  type_2 uStack_74;
  type_3 *pSStack_70;
  type_7 *pcStack_6c;
  type_6 local_58;
  type_11 var_7;
  type_11 var_5;
  type_2 var_4;
  type_6 local_3c;
  type_7 *local_38;
  int var_8;
  type_9 *local_30;
  type_2 var_15;
  
  if (this->symtab_shndx_ != 0) {
    var_15 = in_a3;
    var_10 = (type_2 *)(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object
                       [0xe])(this,this->symtab_shndx_,&var_5,0);
    var_1 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x15];
    if (var_1 == (type_8 *)PTR_do_section_link_004c3dac) {
      var_3 = elfcpp::Elf_file<64,_true,_gold::type_5>::var_2
                        (&this->elf_file_,this->symtab_shndx_);
    }
    else {
      var_3 = (*var_1)(this);
    }
    if (0xfeff < var_3) {
      var_4 = var_3;
      (*(type_7 *)PTR_initialize_shnum_004c1fc0)(&this->elf_file_);
      var_3 = var_4 + (this->elf_file_).large_shndx_offset_;
    }
    var_8 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0xe])
                         (this,var_3,&var_7,0);
    if (0x17 < var_5) {
      local_38 = (type_7 *)PTR_sym_xindex_to_shndx_004c1ab0;
      var_9 = 0;
      local_30 = var_6 + 0x509c;
      do {
        while ((var_10[1] & 0xf000000) == 0x4000000) {
          if (*var_10 < var_7) {
            var_4 = var_8 + *var_10;
            local_3c = *(type_6 *)(offset._0_4_ + 4);
            local_58 = (*(type_7 *)PTR_strlen_004c5b9c)(var_4);
            (*(type_7 *)PTR__M_replace_004c20a0)(offset._0_4_,0,local_3c,var_4);
            goto LAB_001e1784;
          }
          var_9 = var_9 + 1;
          local_58 = 9;
          (*(type_7 *)PTR__M_replace_004c20a0)
                    (offset._0_4_,0,*(type_6 *)(offset._0_4_ + 4),local_30);
          var_10 = var_10 + 6;
          if (var_5 / 0x18 <= var_9) {
            return false;
          }
        }
        var_11 = (type_2)*(type_12 *)((int)var_10 + 6);
        if (var_11 < 0xff00) {
          if (var_12 == var_11) {
            var_13 = (type_3 *)var_10[2];
LAB_001e17bc:
            var_11 = var_10[3];
            if ((int)var_13 <= (int)var_14) {
              if (var_13 == var_14) {
                if (var_15 < var_11) goto LAB_001e1784;
                var_16 = var_10[5];
              }
              else {
                var_16 = var_10[5];
              }
              var_13 = (type_3 *)
                       ((int)&(var_13->source_file)._M_dataplus._M_p +
                       (type_2)(var_11 + var_16 < var_11) + var_10[4]);
              if (((int)var_14 < (int)var_13) || ((var_13 == var_14 && (var_15 < var_11 + var_16)))) {
                var_9 = *var_10;
                *(type_2 *)(offset._0_4_ + 0x30) = *(type_13 *)(var_10 + 1) & 0xf;
                var_27 = offset._0_4_ + 0x18;
                if (var_7 < var_9) {
                  (*(type_7 *)PTR_assign_004c3d50)(var_27,var_6 + 0x509c);
                  return true;
                }
                (*(type_7 *)PTR_assign_004c3d50)(var_27,var_8 + var_9);
                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {
                  var_17 = *(char *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);
                  if ((var_17 != '\0') &&
                     (var_18 = (*(type_7 *)PTR_cplus_demangle_004c280c)
                                        (*(type_6 *)(offset._0_4_ + 0x18),3), var_18 != 0)) {
                    (*(type_7 *)PTR_assign_004c3d50)(var_27,var_18);
                    (*(type_7 *)PTR_free_004c5c18)(var_18);
                    return (bool)var_17;
                  }
                  return true;
                }
                var_18 = 0x5c;
                var_25 = get_symbol_name;
                var_23 = (int *)(var_19 + -0x9b8);
                var_20 = PTR_do_gold_unreachable_004c1a30;
                (*(type_7 *)PTR_do_gold_unreachable_004c1a30)(var_23,0x5c,var_6 + 0x61ac);
                if (var_23[0x2d] == 0) {
                  return false;
                }
                var_21 = *(type_7 **)(var_20 + 0x2e2368);
                puStack_7c = var_10;
                iStack_78 = var_27;
                uStack_74 = var_12;
                pSStack_70 = var_14;
                pcStack_6c = var_25;
                if (*(type_7 **)(*var_23 + 0x38) == var_21) {
                  elfcpp::Elf_file<64,_true,_gold::type_5>::var_22
                            (&LStack_a0,(Elf_file<64,_true,_gold::type_5> *)(var_23 + 0x24),
                             var_23[0x2d]);
                  if (LStack_a0.data_size._0_4_ == 0) {
                    var_28 = LStack_a0.data_size._4_4_;
                    if (LStack_a0.data_size._4_4_ == 0) {
                      var_27 = *(int *)(var_20 + 0x2e0590);
                      goto LAB_001e1ab0;
                    }
                    var_24 = (type_5 *)var_23[7];
                    if (var_24 == (type_5 *)0x0) goto LAB_001e1cd8;
                    var_27 = (**(type_7 **)(var_20 + 0x2e0140))(&var_24->offset_);
                    var_25 = *(type_7 **)(*var_23 + 0x54);
                    var_9 = var_23[0x2d];
                    if (var_25 != *(type_7 **)(var_20 + 0x2e2378)) goto LAB_001e1bf8;
                    goto LAB_001e1ac4;
                  }
                }
                else {
                  var_27 = (**(type_7 **)(*var_23 + 0x38))();
LAB_001e1ab0:
                  var_25 = *(type_7 **)(*var_23 + 0x54);
                  var_9 = var_23[0x2d];
                  if (var_25 == *(type_7 **)(var_20 + 0x2e2378)) {
LAB_001e1ac4:
                    var_9 = elfcpp::Elf_file<64,_true,_gold::type_5>::var_2
                                       ((Elf_file<64,_true,_gold::type_5> *)(var_23 + 0x24),var_9);
                    if (var_9 < 0xff00) goto LAB_001e1ae0;
LAB_001e1c10:
                    var_26 = var_9;
                    (**(type_7 **)(var_20 + 0x2e058c))(var_23 + 0x24);
                    var_9 = var_26 + var_23[0x2a];
                    var_25 = *(type_7 **)(*var_23 + 0x38);
                  }
                  else {
LAB_001e1bf8:
                    var_9 = (*var_25)(var_23);
                    if (0xfeff < var_9) goto LAB_001e1c10;
LAB_001e1ae0:
                    var_25 = *(type_7 **)(*var_23 + 0x38);
                  }
                  if (var_25 != var_21) {
                    var_17 = (*var_25)(var_23,var_9,&iStack_90,0);
                    var_29 = (type_6 *)(var_27 + var_18 * 0x18);
                    if ((type_6 *)(var_27 + var_28) <= var_29) {
                      return false;
                    }
LAB_001e1b7c:
                    return (bool)(var_17 + (char)*var_29);
                  }
                  elfcpp::Elf_file<64,_true,_gold::type_5>::var_22
                            (&LStack_b0,(Elf_file<64,_true,_gold::type_5> *)(var_23 + 0x24),var_9);
                  if (LStack_b0.data_size._0_4_ == 0) {
                    iStack_90 = LStack_b0.data_size._4_4_;
                    if (LStack_b0.data_size._4_4_ == 0) {
                      var_17 = (char)*(type_6 *)(var_20 + 0x2e0590);
                    }
                    else {
                      var_24 = (type_5 *)var_23[7];
                      if (var_24 == (type_5 *)0x0) goto LAB_001e1cd8;
                      var_17 = (**(type_7 **)(var_20 + 0x2e0140))(&var_24->offset_);
                    }
                    var_29 = (type_6 *)(var_27 + var_18 * 0x18);
                    if ((type_6 *)(var_27 + var_28) <= var_29) {
                      return false;
                    }
                    goto LAB_001e1b7c;
                  }
                }
                var_24 = (type_5 *)(*(int *)(var_20 + 0x2df848) + 0x4584);
                (**(type_7 **)(var_20 + 0x2dfffc))
                          (var_24,0xc0,*(int *)(var_20 + 0x2e001c) + 0x5d64);
LAB_001e1cd8:
                    /* WARNING: Subroutine does not return */
                Object::var_30(var_24);
              }
            }
          }
        }
        else if (var_11 == 0xffff) {
          var_31 = (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_;
          if (var_31 == (type_4 *)0x0) {
            var_31 = (type_4 *)
                     (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object
                       [0x1b])(this);
            (this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.xindex_ = var_31;
          }
          var_11 = (*local_38)(var_31,this,var_9);
          if (var_12 == var_11) {
            var_13 = (type_3 *)var_10[2];
            goto LAB_001e17bc;
          }
        }
LAB_001e1784:
        var_9 = var_9 + 1;
        var_10 = var_10 + 6;
      } while (var_9 < var_5 / 0x18);
    }
  }
  return false;
}


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

/* gold::Sized_relobj_file<64, true>::MASKED(unsigned int, long long,
   gold::Symbol_location_info*) */

uint gold::Sized_relobj_file<64,true>::MASKED
               (uint param_1,longlong param_2,Symbol_location_info *param_3)

{
  uint *puVar1;
  uint uVar2;
  Symbol_location_info *pSVar3;
  uint uVar4;
  undefined4 uVar5;
  int iVar6;
  uint uVar7;
  uint uVar8;
  uint in_a2;
  uint in_a3;
  int iVar9;
  uint local_48;
  uint local_44;
  uint local_40;
  undefined4 local_3c;
  code *local_38;
  int local_34;
  undefined *local_30;
  uint local_2c;
  
  if (*(int *)(param_1 + 0xb4) != 0) {
    local_2c = in_a3;
    puVar1 = (uint *)(**(code **)(*(int *)param_1 + 0x38))
                               (param_1,*(int *)(param_1 + 0xb4),&local_44,0);
    if (*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3dac) {
      uVar2 = elfcpp::Elf_file<64,true,gold::Object>::section_link
                        ((Elf_file<64,true,gold::Object> *)(param_1 + 0x90),
                         *(uint *)(param_1 + 0xb4));
    }
    else {
      uVar2 = (**(code **)(*(int *)param_1 + 0x54))(param_1);
    }
    if (0xfeff < uVar2) {
      local_40 = uVar2;
      (*(code *)PTR_initialize_shnum_004c1fc0)(param_1 + 0x90);
      uVar2 = local_40 + *(int *)(param_1 + 0xa8);
    }
    local_34 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);
    if (0x17 < local_44) {
      local_38 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;
      uVar2 = 0;
      local_30 = PTR_s__s_004c1a50 + 0x509c;
      do {
        while ((puVar1[1] & 0xf000000) != 0x4000000) {
          pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 6);
          if (pSVar3 < (Symbol_location_info *)0xff00) {
            if (param_3 == pSVar3) {
              uVar7 = puVar1[2];
LAB_001e17bc:
              uVar4 = puVar1[3];
              if ((int)uVar7 <= (int)in_a2) {
                if (uVar7 == in_a2) {
                  if (local_2c < uVar4) goto LAB_001e1784;
                  uVar8 = puVar1[5];
                }
                else {
                  uVar8 = puVar1[5];
                }
                uVar7 = (uint)(uVar4 + uVar8 < uVar4) + uVar7 + puVar1[4];
                if (((int)in_a2 < (int)uVar7) || ((uVar7 == in_a2 && (local_2c < uVar4 + uVar8)))) {
                  uVar2 = *puVar1;
                  *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 1) & 0xf;
                  iVar9 = param_2._0_4_ + 0x18;
                  if (local_48 < uVar2) {
                    (*(code *)PTR_assign_004c3d50)(iVar9,PTR_s__s_004c1a50 + 0x509c);
                    return 1;
                  }
                  (*(code *)PTR_assign_004c3d50)(iVar9,local_34 + uVar2);
                  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) != 0) {
                    uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);
                    if ((uVar2 != 0) &&
                       (iVar6 = (*(code *)PTR_cplus_demangle_004c280c)
                                          (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar6 != 0)) {
                      (*(code *)PTR_assign_004c3d50)(iVar9,iVar6);
                      (*(code *)PTR_free_004c5c18)(iVar6);
                      return uVar2;
                    }
                    return 1;
                  }
                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                                     PTR_s__s_004c1a50 + 0x61ac);
                  return uVar2;
                }
              }
            }
          }
          else if (pSVar3 == (Symbol_location_info *)0xffff) {
            iVar9 = *(int *)(param_1 + 0x30);
            if (iVar9 == 0) {
              iVar9 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);
              *(int *)(param_1 + 0x30) = iVar9;
            }
            pSVar3 = (Symbol_location_info *)(*local_38)(iVar9,param_1,uVar2);
            if (param_3 == pSVar3) {
              uVar7 = puVar1[2];
              goto LAB_001e17bc;
            }
          }
LAB_001e1784:
          uVar2 = uVar2 + 1;
          puVar1 = puVar1 + 6;
          if (local_44 / 0x18 <= uVar2) {
            return 0;
          }
        }
        if (*puVar1 < local_48) {
          local_40 = local_34 + *puVar1;
          local_3c = *(undefined4 *)(param_2._0_4_ + 4);
          uVar5 = (*(code *)PTR_strlen_004c5b9c)(local_40);
          (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar5);
          goto LAB_001e1784;
        }
        uVar2 = uVar2 + 1;
        (*(code *)PTR__M_replace_004c20a0)
                  (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),local_30,9);
        puVar1 = puVar1 + 6;
        if (local_44 / 0x18 <= uVar2) {
          return 0;
        }
      } while( true );
    }
  }
  return 0;
}

