
/* 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<32,_true> * this, uint
   shndx, off_t offset, Symbol_location_info * info) */

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

{
  uint *puVar1;
  Elf_Word EVar2;
  uint uVar3;
  int iVar4;
  char cVar5;
  Xindex *pXVar6;
  int *piVar7;
  Object *this_00;
  undefined4 *puVar8;
  uint in_a3;
  code *pcVar9;
  undefined *puVar10;
  int iVar11;
  _func_int_varargs *p_Var12;
  uint *puVar13;
  code *pcVar14;
  Location LStack_b0;
  Location LStack_a0;
  int iStack_90;
  int iStack_8c;
  Elf_Word EStack_88;
  Sized_relobj_file<32,_true> *pSStack_7c;
  int iStack_78;
  int iStack_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;
  uint local_38;
  code *local_34;
  int local_30;
  uint local_2c;
  
  if (this->symtab_shndx_ != 0) {
    local_2c = in_a3;
    puVar1 = (uint *)(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object
                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);
    p_Var12 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15];
    if (p_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c) {
      EVar2 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link
                        (&this->elf_file_,this->symtab_shndx_);
    }
    else {
      EVar2 = (*p_Var12)(this);
    }
    if (0xfeff < EVar2) {
      local_40 = EVar2;
      (*(code *)PTR_initialize_shnum_004c1fd0)(&this->elf_file_);
      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;
    }
    local_30 = (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])
                         (this,EVar2,&names_size,0);
    if (symbols_size >> 4 != 0) {
      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;
      iVar11 = 0;
      puVar13 = puVar1 + (symbols_size >> 4) * 4;
      local_38 = (uint)((int)info < 0);
      puVar10 = PTR_s__s_004c1a50 + 0x509c;
      do {
        while ((puVar1[3] & 0xf000000) == 0x4000000) {
          if (*puVar1 < names_size) {
            local_40 = local_30 + *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_001ddd78;
          }
          puVar1 = puVar1 + 4;
          local_58 = 9;
          (*(code *)PTR__M_replace_004c20a0)
                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);
          iVar11 = iVar11 + 1;
          if (puVar1 == puVar13) {
            return false;
          }
        }
        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);
        if (0xfeff < uVar3) {
          if (uVar3 != 0xffff) goto LAB_001ddd78;
          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;
          if (pXVar6 == (Xindex *)0x0) {
            pXVar6 = (Xindex *)
                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object
                       [0x1b])(this);
            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;
          }
          uVar3 = (*local_34)(pXVar6,this,iVar11);
        }
        if ((shndx == uVar3) && (local_38 == 0)) {
          if (info == (Symbol_location_info *)0x0) {
            if (puVar1[1] <= local_2c) {
              uVar3 = puVar1[2];
              goto LAB_001dddcc;
            }
          }
          else {
            uVar3 = puVar1[2];
            if (info == (Symbol_location_info *)0x0) {
LAB_001dddcc:
              if (local_2c < puVar1[1] + uVar3) {
                uVar3 = *puVar1;
                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;
                iVar11 = offset._0_4_ + 0x18;
                if (names_size < uVar3) {
                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);
                  return true;
                }
                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);
                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;
                pcVar14 = get_symbol_name;
                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);
                puVar10 = PTR_do_gold_unreachable_004c1a30;
                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);
                if (piVar7[0x2d] == 0) {
                  return false;
                }
                iStack_74 = offset._0_4_;
                pcVar9 = *(code **)(puVar10 + 0x2e5d58);
                pSStack_7c = this;
                iStack_78 = iVar11;
                pSStack_70 = info;
                pcStack_6c = pcVar14;
                if (*(code **)(*piVar7 + 0x38) == pcVar9) {
                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents
                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),
                             piVar7[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 *)(puVar10 + 0x2e3fd0);
                      goto LAB_001de080;
                    }
                    this_00 = (Object *)piVar7[7];
                    if (this_00 == (Object *)0x0) goto LAB_001de298;
                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);
                    pcVar14 = *(code **)(*piVar7 + 0x54);
                    uVar3 = piVar7[0x2d];
                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;
                    goto LAB_001de094;
                  }
                }
                else {
                  iVar11 = (**(code **)(*piVar7 + 0x38))();
LAB_001de080:
                  pcVar14 = *(code **)(*piVar7 + 0x54);
                  uVar3 = piVar7[0x2d];
                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {
LAB_001de094:
                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link
                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);
                    if (uVar3 < 0xff00) goto LAB_001de0b0;
LAB_001de1d8:
                    EStack_88 = uVar3;
                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);
                    uVar3 = EStack_88 + piVar7[0x2a];
                    pcVar14 = *(code **)(*piVar7 + 0x38);
                  }
                  else {
LAB_001de1c0:
                    uVar3 = (*pcVar14)(piVar7);
                    if (0xfeff < uVar3) goto LAB_001de1d8;
LAB_001de0b0:
                    pcVar14 = *(code **)(*piVar7 + 0x38);
                  }
                  if (pcVar14 != pcVar9) {
                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);
                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);
                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {
                      return false;
                    }
LAB_001de144:
                    return (bool)(cVar5 + (char)*puVar8);
                  }
                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents
                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);
                  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 *)(puVar10 + 0x2e3fd0);
                    }
                    else {
                      this_00 = (Object *)piVar7[7];
                      if (this_00 == (Object *)0x0) goto LAB_001de298;
                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);
                    }
                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);
                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {
                      return false;
                    }
                    goto LAB_001de144;
                  }
                }
                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);
                (**(code **)(puVar10 + 0x2e3a2c))
                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);
LAB_001de298:
                    /* WARNING: Subroutine does not return */
                Object::input_file(this_00);
              }
            }
          }
        }
LAB_001ddd78:
        puVar1 = puVar1 + 4;
        iVar11 = iVar11 + 1;
        if (puVar1 == puVar13) {
          return false;
        }
      } while( true );
    }
  }
  return false;
}



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

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

{
  uint *puVar1;
  uint uVar2;
  Symbol_location_info *pSVar3;
  undefined4 uVar4;
  int iVar5;
  int in_a2;
  uint in_a3;
  undefined *puVar6;
  int iVar7;
  uint *puVar8;
  uint local_48;
  uint local_44;
  uint local_40;
  undefined4 local_3c;
  uint local_38;
  code *local_34;
  int 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_004c3d6c) {
      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link
                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);
      uVar2 = local_40 + *(int *)(param_1 + 0xa8);
    }
    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);
    if (local_44 >> 4 != 0) {
      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;
      iVar7 = 0;
      puVar8 = puVar1 + (local_44 >> 4) * 4;
      local_38 = (uint)(in_a2 < 0);
      puVar6 = PTR_s__s_004c1a50 + 0x509c;
      do {
        while ((puVar1[3] & 0xf000000) == 0x4000000) {
          if (*puVar1 < local_48) {
            local_40 = local_30 + *puVar1;
            local_3c = *(undefined4 *)(param_2._0_4_ + 4);
            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);
            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);
            goto LAB_001ddd78;
          }
          puVar1 = puVar1 + 4;
          (*(code *)PTR__M_replace_004c20a0)
                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);
          iVar7 = iVar7 + 1;
          if (puVar1 == puVar8) {
            return 0;
          }
        }
        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);
        if ((Symbol_location_info *)0xfeff < pSVar3) {
          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;
          iVar5 = *(int *)(param_1 + 0x30);
          if (iVar5 == 0) {
            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);
            *(int *)(param_1 + 0x30) = iVar5;
          }
          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);
        }
        if ((param_3 == pSVar3) && (local_38 == 0)) {
          if (in_a2 == 0) {
            if (puVar1[1] <= local_2c) {
              uVar2 = puVar1[2];
              goto LAB_001dddcc;
            }
          }
          else {
            uVar2 = puVar1[2];
            if (in_a2 == 0) {
LAB_001dddcc:
              if (local_2c < puVar1[1] + uVar2) {
                uVar2 = *puVar1;
                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;
                iVar7 = param_2._0_4_ + 0x18;
                if (local_48 < uVar2) {
                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);
                  return 1;
                }
                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);
                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {
                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                                     PTR_s__s_004c1a50 + 0x61ac);
                  return uVar2;
                }
                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);
                if ((uVar2 != 0) &&
                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)
                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {
                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);
                  (*(code *)PTR_free_004c5c18)(iVar5);
                  return uVar2;
                }
                return 1;
              }
            }
          }
        }
LAB_001ddd78:
        puVar1 = puVar1 + 4;
        iVar7 = iVar7 + 1;
      } while (puVar1 != puVar8);
    }
  }
  return 0;
}


lui gp,0x2f
addiu gp,gp,-0x4a20
addu gp,gp,t9
addiu sp,sp,-0x68
lw v0,0xb4(a0)
sw gp,0x18(sp)
sw s2,0x48(sp)
sw ra,0x64(sp)
sw s8,0x60(sp)
sw s7,0x5c(sp)
sw s6,0x58(sp)
sw s5,0x54(sp)
sw s4,0x50(sp)
sw s3,0x4c(sp)
sw s1,0x44(sp)
sw s0,0x40(sp)
beq v0,zero,0x001dde78
_lw s2,0x78(sp)
lw v1,0x0(a0)
or s0,a0,zero
sw a3,0x3c(sp)
or s3,a2,zero
or a3,zero,zero
addiu a2,sp,0x24
lw t9,0x38(v1)
or s1,a1,zero
jalr t9
_or a1,v0,zero
lw gp,0x18(sp)
or s5,v0,zero
lw a0,0x0(s0)
lw v0,-0x54d4(gp)
lw t9,0x54(a0)
bne t9,v0,0x001ddf78
_lw a1,0xb4(s0)
lw t9,-0x54d0(gp)
bal 0x001ddb40
_addiu a0,s0,0x90
lw gp,0x18(sp)
or a1,v0,zero
ori a0,zero,0xff00
sltu a0,a1,a0
beq a0,zero,0x001ddf40
_lw t9,-0x7270(gp)
lw v0,0x0(s0)
or a3,zero,zero
addiu a2,sp,0x20
lw t9,0x38(v0)
jalr t9
_or a0,s0,zero
lw t1,0x24(sp)
lw gp,0x18(sp)
srl t1,t1,0x4
beq t1,zero,0x001dde78
_sw v0,0x38(sp)
lw v0,-0x7790(gp)
sll t1,t1,0x4
lw s4,-0x77f0(gp)
or s6,zero,zero
addu s8,s5,t1
sw v0,0x34(sp)
slti v0,s3,0x0
li s7,0x4
sw v0,0x30(sp)
b 0x001ddd80
_addiu s4,s4,0x509c
ori a0,zero,0xffff
beq v0,a0,0x001ddeb0
_nop
addiu s5,s5,0x10
beq s5,s8,0x001dde78
_addiu s6,s6,0x1
lbu v0,0xc(s5)
andi v0,v0,0xf
beq v0,s7,0x001dde38
_ori a0,zero,0xff00
lhu v0,0xe(s5)
sltu a0,v0,a0
beq a0,zero,0x001ddd68
_nop
bne s1,v0,0x001ddd74
_lw v1,0x30(sp)
bne v1,zero,0x001ddd74
_lw v0,0x4(s5)
beq s3,zero,0x001ddf20
_lw v1,0x3c(sp)
lw a0,0x8(s5)
bne s3,zero,0x001ddd74
_addu v0,v0,a0
lw v1,0x3c(sp)
sltu v0,v1,v0
beq v0,zero,0x001ddd78
_addiu s5,s5,0x10
addiu s5,s5,-0x10
lbu v0,0xc(s5)
lw a1,0x0(s5)
andi v0,v0,0xf
sw v0,0x30(s2)
lw v0,0x20(sp)
sltu v0,v0,a1
bne v0,zero,0x001ddfcc
_addiu s1,s2,0x18
lw v0,0x38(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,0x001ddfec
_lw a2,-0x77f0(gp)
lbu s0,0x5949(v0)
bne s0,zero,0x001ddf8c
_lw t9,-0x6a34(gp)
b 0x001dde7c
_li s0,0x1
lw a3,0x0(s5)
lw v0,0x20(sp)
sltu v0,a3,v0
bne v0,zero,0x001ddedc
_lw a2,0x4(s2)
lw t9,-0x71a0(gp)
li v0,0x9
or a1,zero,zero
addiu s5,s5,0x10
sw v0,0x10(sp)
or a3,s4,zero
jalr t9
_or a0,s2,zero
addiu s6,s6,0x1
bne s5,s8,0x001ddd80
_lw gp,0x18(sp)
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(s0)
beq a0,zero,0x001ddf5c
_nop
lw t9,0x34(sp)
or a2,s6,zero
jalr t9
_or a1,s0,zero
bne s1,v0,0x001ddd74
_lw gp,0x18(sp)
b 0x001ddda8
_lw v1,0x30(sp)
lw v0,0x38(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,s2,zero
lw a3,0x28(sp)
lw a2,0x2c(sp)
lw t9,-0x71a0(gp)
jalr t9
_sw v0,0x10(sp)
b 0x001ddd74
_lw gp,0x18(sp)
sltu a0,v1,v0
bne a0,zero,0x001ddd74
_nop
lw a0,0x8(s5)
bne s3,zero,0x001ddd74
_addu v0,v0,a0
b 0x001dddcc
_sltu v0,v1,v0
addiu a0,s0,0x90
jalr t9
_sw a1,0x28(sp)
lw v0,0xa8(s0)
lw a1,0x28(sp)
b 0x001ddd10
_addu a1,a1,v0
lw v0,0x0(s0)
lw t9,0x6c(v0)
jalr t9
_or a0,s0,zero
or a0,v0,zero
b 0x001ddebc
_sw v0,0x30(s0)
jalr t9
_or a0,s0,zero
lw gp,0x18(sp)
b 0x001ddd00
_or a1,v0,zero
li a1,0x3
jalr t9
_lw a0,0x18(s2)
lw gp,0x18(sp)
beq v0,zero,0x001dde30
_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 0x001dde80
_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 0x001dde80
_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<32, true>::get_symbol_location_info(unsigned int, long long,\n   gold::Symbol_location_info*) */\n\nuint gold::Sized_relobj_file<32,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  undefined4 uVar4;\n  int iVar5;\n  int in_a2;\n  uint in_a3;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  uint local_38;\n  code *local_34;\n  int 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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }\n  }\n  return 0;\n}\n\n" comment (declaration "uint gold::Sized_relobj_file<32,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 "<32" < 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 "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int in_a2;" primitive_type identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * 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 "uint local_38;" type_identifier identifier ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type 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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c3d6c)" ( (binary_expression "*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3d6c" (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_004c3d6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }" { (ERROR "uVar2 = elfcpp::Elf_file<32,true,gold::" (comma_expression "uVar2 = elfcpp::Elf_file<32,true,gold" (binary_expression "uVar2 = elfcpp::Elf_file<32" (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<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier > (ERROR "::" : :) (call_expression "section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier (argument_list "((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" ( (call_expression "(Elf_file<32,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<32,true,gold::Object> *)" ( (ERROR "Elf_file<32,true,gold::" (comma_expression "Elf_file<32,true,gold" (binary_expression "Elf_file<32" 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_004c1fd0)(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_004c1fd0)(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_004c1fd0)(param_1 + 0x90);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fd0)(param_1 + 0x90)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fd0)" ( (pointer_expression "*(code *)PTR_initialize_shnum_004c1fd0" * (cast_expression "(code *)PTR_initialize_shnum_004c1fd0" ( (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_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);" (assignment_expression "local_30 = (**(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 (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }" if (parenthesized_expression "(local_44 >> 4 != 0)" ( (binary_expression "local_44 >> 4 != 0" (binary_expression "local_44 >> 4" identifier >> number_literal) != number_literal) )) (compound_statement "{\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }" { (expression_statement "local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_34 = (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 "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "puVar8 = puVar1 + (local_44 >> 4) * 4;" (assignment_expression "puVar8 = puVar1 + (local_44 >> 4) * 4" identifier = (binary_expression "puVar1 + (local_44 >> 4) * 4" identifier + (binary_expression "(local_44 >> 4) * 4" (parenthesized_expression "(local_44 >> 4)" ( (binary_expression "local_44 >> 4" identifier >> number_literal) )) * number_literal))) ;) (expression_statement "local_38 = (uint)(in_a2 < 0);" (assignment_expression "local_38 = (uint)(in_a2 < 0)" identifier = (call_expression "(uint)(in_a2 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a2 < 0)" ( (binary_expression "in_a2 < 0" identifier < number_literal) )))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + 0x509c" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal)) ;) (do_statement "do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);" do (compound_statement "{\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      }" { (while_statement "while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }" while (parenthesized_expression "((puVar1[3] & 0xf000000) == 0x4000000)" ( (binary_expression "(puVar1[3] & 0xf000000) == 0x4000000" (parenthesized_expression "(puVar1[3] & 0xf000000)" ( (binary_expression "puVar1[3] & 0xf000000" (subscript_expression "puVar1[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }" { (if_statement "if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }" if (parenthesized_expression "(*puVar1 < local_48)" ( (binary_expression "*puVar1 < local_48" (pointer_expression "*puVar1" * identifier) < identifier) )) (compound_statement "{\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }" { (expression_statement "local_40 = local_30 + *puVar1;" (assignment_expression "local_40 = local_30 + *puVar1" identifier = (binary_expression "local_30 + *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 "uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "uVar4 = (*(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,uVar4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4)" (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,uVar4)" ( (field_expression "param_2._0_4_" identifier . field_identifier) , number_literal , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001ddd78;" goto statement_identifier ;) })) (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,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),puVar6,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 "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (puVar1 == puVar8) {\n            return 0;\n          }" if (parenthesized_expression "(puVar1 == puVar8)" ( (binary_expression "puVar1 == puVar8" identifier == identifier) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);" (assignment_expression "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe)" identifier = (binary_expression "(Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe)" (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 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + 0xe)" ( (binary_expression "(int)puVar1 + 0xe" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }" if (parenthesized_expression "((Symbol_location_info *)0xfeff < pSVar3)" ( (binary_expression "(Symbol_location_info *)0xfeff < pSVar3" (cast_expression "(Symbol_location_info *)0xfeff" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }" { (if_statement "if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;" 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)) )) (goto_statement "goto LAB_001ddd78;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar5 = *(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 (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }" { (expression_statement "iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);" (assignment_expression "iVar5 = (**(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) = iVar5;" (assignment_expression "*(int *)(param_1 + 0x30) = iVar5" (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_34)(iVar5,param_1,iVar7);" (assignment_expression "pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7)" identifier = (cast_expression "(Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7)" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_34)(iVar5,param_1,iVar7)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(iVar5,param_1,iVar7)" ( identifier , identifier , identifier ))))) ;) })) (if_statement "if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((param_3 == pSVar3) && (local_38 == 0))" ( (binary_expression "(param_3 == pSVar3) && (local_38 == 0)" (parenthesized_expression "(param_3 == pSVar3)" ( (binary_expression "param_3 == pSVar3" identifier == identifier) )) && (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }" { (if_statement "if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" if (parenthesized_expression "(in_a2 == 0)" ( (binary_expression "in_a2 == 0" identifier == number_literal) )) (compound_statement "{\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }" { (if_statement "if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }" if (parenthesized_expression "(puVar1[1] <= local_2c)" ( (binary_expression "puVar1[1] <= local_2c" (subscript_expression "puVar1[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }" { (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001dddcc;" goto statement_identifier ;) })) }) (else_clause "else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" else (compound_statement "{\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" { (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (if_statement "if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }" if (parenthesized_expression "(in_a2 == 0)" ( (binary_expression "in_a2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }" { (labeled_statement "LAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" statement_identifier : (if_statement "if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" if (parenthesized_expression "(local_2c < puVar1[1] + uVar2)" ( (binary_expression "local_2c < puVar1[1] + uVar2" identifier < (binary_expression "puVar1[1] + uVar2" (subscript_expression "puVar1[1]" identifier [ number_literal ]) + identifier)) )) (compound_statement "{\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" { (expression_statement "uVar2 = *puVar1;" (assignment_expression "uVar2 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;" (assignment_expression "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 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 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar7 = param_2._0_4_ + 0x18;" (assignment_expression "iVar7 = 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)(iVar7,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)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,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 "(iVar7,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)(iVar7,local_30 + uVar2);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,local_30 + 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 "(iVar7,local_30 + uVar2)" ( identifier , (binary_expression "local_30 + uVar2" identifier + identifier) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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 *)(*(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 = (*(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 = (*(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 ;) })) (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                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }" if (parenthesized_expression "((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0))" ( (binary_expression "(uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)" ( (comma_expression "iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0" (assignment_expression "iVar5 = (*(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 "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar7,iVar5);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,iVar5)" (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 "(iVar7,iVar5)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar5);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar5)" (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 "(iVar5)" ( identifier ))) ;) (return_statement "return uVar2;" return identifier ;) })) (return_statement "return 1;" return number_literal ;) }))) })) }))) })) (labeled_statement "LAB_001ddd78:\n        puVar1 = puVar1 + 4;" statement_identifier : (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;)) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != puVar8)" ( (binary_expression "puVar1 != puVar8" identifier != identifier) )) ;) })) })) (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<32,_true> * this, uint\n   shndx, off_t offset, Symbol_location_info * info) */\n\nbool __thiscall\ngold::Sized_relobj_file<32,_true>::get_symbol_location_info\n          (Sized_relobj_file<32,_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  Xindex *pXVar6;\n  int *piVar7;\n  Object *this_00;\n  undefined4 *puVar8;\n  uint in_a3;\n  code *pcVar9;\n  undefined *puVar10;\n  int iVar11;\n  _func_int_varargs *p_Var12;\n  uint *puVar13;\n  code *pcVar14;\n  Location LStack_b0;\n  Location LStack_a0;\n  int iStack_90;\n  int iStack_8c;\n  Elf_Word EStack_88;\n  Sized_relobj_file<32,_true> *pSStack_7c;\n  int iStack_78;\n  int iStack_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  uint local_38;\n  code *local_34;\n  int 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<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);\n    p_Var12 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15];\n    if (p_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c) {\n      EVar2 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var12)(this);\n    }\n    if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fd0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }\n    local_30 = (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);\n    if (symbols_size >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar11 = 0;\n      puVar13 = puVar1 + (symbols_size >> 4) * 4;\n      local_38 = (uint)((int)info < 0);\n      puVar10 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      } while( true );\n    }\n  }\n  return false;\n}\n\n" comment comment comment comment comment (declaration "bool __thiscall\ngold::Sized_relobj_file<32,_true>::get_symbol_location_info\n          (Sized_relobj_file<32,_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 "<32" < number_literal) , (ERROR "_true>::get_symbol_location_info\n          (Sized_relobj_file<32,_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<32,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)" identifier (parameter_list "(Sized_relobj_file<32,_true> *this,uint shndx,off_t offset,Symbol_location_info *info)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < 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 "Xindex *pXVar6;" type_identifier (pointer_declarator "*pXVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "Object *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "_func_int_varargs *p_Var12;" type_identifier (pointer_declarator "*p_Var12" * identifier) ;) (declaration "uint *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * 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 ;) (expression_statement "Sized_relobj_file<32,_true> *pSStack_7c;" (update_expression "Sized_relobj_file<32,_true> *pSStack_7c" (binary_expression "Sized_relobj_file<32,_true> *pSStack_7c" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pSStack_7c" * identifier)) --) ;) (declaration "int iStack_78;" primitive_type identifier ;) (declaration "int iStack_74;" primitive_type 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 "uint local_38;" type_identifier identifier ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type 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<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);\n    p_Var12 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15];\n    if (p_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c) {\n      EVar2 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var12)(this);\n    }\n    if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fd0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }\n    local_30 = (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);\n    if (symbols_size >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar11 = 0;\n      puVar13 = puVar1 + (symbols_size >> 4) * 4;\n      local_38 = (uint)((int)info < 0);\n      puVar10 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      } while( true );\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<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);\n    p_Var12 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15];\n    if (p_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c) {\n      EVar2 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var12)(this);\n    }\n    if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fd0)(&this->elf_file_);\n      EVar2 = local_40 + (this->elf_file_).large_shndx_offset_;\n    }\n    local_30 = (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);\n    if (symbols_size >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar11 = 0;\n      puVar13 = puVar1 + (symbols_size >> 4) * 4;\n      local_38 = (uint)((int)info < 0);\n      puVar10 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      } while( true );\n    }\n  }" { (expression_statement "local_2c = in_a3;" (assignment_expression "local_2c = in_a3" identifier = identifier) ;) (expression_statement "puVar1 = (uint *)(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0);" (assignment_expression "puVar1 = (uint *)(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0)" identifier = (cast_expression "(uint *)(*(this->super_Sized_relobj<32,_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<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])(this,this->symtab_shndx_,&symbols_size,0)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe])" ( (pointer_expression "*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe]" * (subscript_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0xe]" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_true>)" ( (comma_expression "this->super_Sized_relobj<32,_true" (binary_expression "this->super_Sized_relobj<32" (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_Var12 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15];" (assignment_expression "p_Var12 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15]" identifier = (subscript_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0x15]" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_true>)" ( (comma_expression "this->super_Sized_relobj<32,_true" (binary_expression "this->super_Sized_relobj<32" (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_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c) {\n      EVar2 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }\n    else {\n      EVar2 = (*p_Var12)(this);\n    }" if (parenthesized_expression "(p_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c)" ( (binary_expression "p_Var12 == (_func_int_varargs *)PTR_do_section_link_004c3d6c" identifier == (cast_expression "(_func_int_varargs *)PTR_do_section_link_004c3d6c" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      EVar2 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                        (&this->elf_file_,this->symtab_shndx_);\n    }" { (ERROR "EVar2 = elfcpp::Elf_file<32,_true,_gold::" (comma_expression "EVar2 = elfcpp::Elf_file<32,_true,_gold" (binary_expression "EVar2 = elfcpp::Elf_file<32" (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_Var12)(this);\n    }" else (compound_statement "{\n      EVar2 = (*p_Var12)(this);\n    }" { (expression_statement "EVar2 = (*p_Var12)(this);" (assignment_expression "EVar2 = (*p_Var12)(this)" identifier = (call_expression "(*p_Var12)(this)" (parenthesized_expression "(*p_Var12)" ( (pointer_expression "*p_Var12" * identifier) )) (argument_list "(this)" ( identifier )))) ;) }))) (if_statement "if (0xfeff < EVar2) {\n      local_40 = EVar2;\n      (*(code *)PTR_initialize_shnum_004c1fd0)(&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_004c1fd0)(&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_004c1fd0)(&this->elf_file_);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fd0)(&this->elf_file_)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fd0)" ( (pointer_expression "*(code *)PTR_initialize_shnum_004c1fd0" * (cast_expression "(code *)PTR_initialize_shnum_004c1fd0" ( (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_30 = (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0);" (assignment_expression "local_30 = (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0)" identifier = (call_expression "(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])\n                         (this,EVar2,&names_size,0)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe])" ( (pointer_expression "*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe]" * (subscript_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object[0xe]" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_true>)" ( (comma_expression "this->super_Sized_relobj<32,_true" (binary_expression "this->super_Sized_relobj<32" (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 (symbols_size >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar11 = 0;\n      puVar13 = puVar1 + (symbols_size >> 4) * 4;\n      local_38 = (uint)((int)info < 0);\n      puVar10 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(symbols_size >> 4 != 0)" ( (binary_expression "symbols_size >> 4 != 0" (binary_expression "symbols_size >> 4" identifier >> number_literal) != number_literal) )) (compound_statement "{\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar11 = 0;\n      puVar13 = puVar1 + (symbols_size >> 4) * 4;\n      local_38 = (uint)((int)info < 0);\n      puVar10 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      } while( true );\n    }" { (expression_statement "local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_34 = (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 "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = puVar1 + (symbols_size >> 4) * 4;" (assignment_expression "puVar13 = puVar1 + (symbols_size >> 4) * 4" identifier = (binary_expression "puVar1 + (symbols_size >> 4) * 4" identifier + (binary_expression "(symbols_size >> 4) * 4" (parenthesized_expression "(symbols_size >> 4)" ( (binary_expression "symbols_size >> 4" identifier >> number_literal) )) * number_literal))) ;) (expression_statement "local_38 = (uint)((int)info < 0);" (assignment_expression "local_38 = (uint)((int)info < 0)" identifier = (call_expression "(uint)((int)info < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)info < 0)" ( (binary_expression "(int)info < 0" (cast_expression "(int)info" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )))) ;) (expression_statement "puVar10 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "puVar10 = PTR_s__s_004c1a50 + 0x509c" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal)) ;) (do_statement "do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      } while( true );" do (compound_statement "{\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }\n        uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);\n        if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }\n        if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar11 = iVar11 + 1;\n        if (puVar1 == puVar13) {\n          return false;\n        }\n      }" { (while_statement "while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }" while (parenthesized_expression "((puVar1[3] & 0xf000000) == 0x4000000)" ( (binary_expression "(puVar1[3] & 0xf000000) == 0x4000000" (parenthesized_expression "(puVar1[3] & 0xf000000)" ( (binary_expression "puVar1[3] & 0xf000000" (subscript_expression "puVar1[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          local_58 = 9;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10);\n          iVar11 = iVar11 + 1;\n          if (puVar1 == puVar13) {\n            return false;\n          }\n        }" { (if_statement "if (*puVar1 < names_size) {\n            local_40 = local_30 + *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_001ddd78;\n          }" if (parenthesized_expression "(*puVar1 < names_size)" ( (binary_expression "*puVar1 < names_size" (pointer_expression "*puVar1" * identifier) < identifier) )) (compound_statement "{\n            local_40 = local_30 + *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_001ddd78;\n          }" { (expression_statement "local_40 = local_30 + *puVar1;" (assignment_expression "local_40 = local_30 + *puVar1" identifier = (binary_expression "local_30 + *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_001ddd78;" goto statement_identifier ;) })) (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" 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),puVar10);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                    (offset._0_4_,0,*(undefined4 *)(offset._0_4_ + 4),puVar10)" (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),puVar10)" ( (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 "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (puVar1 == puVar13) {\n            return false;\n          }" if (parenthesized_expression "(puVar1 == puVar13)" ( (binary_expression "puVar1 == puVar13" identifier == identifier) )) (compound_statement "{\n            return false;\n          }" { (return_statement "return false;" return false ;) })) })) (expression_statement "uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe);" (assignment_expression "uVar3 = (uint)*(ushort *)((int)puVar1 + 0xe)" identifier = (binary_expression "(uint)*(ushort *)((int)puVar1 + 0xe)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((int)puVar1 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + 0xe)" ( (binary_expression "(int)puVar1 + 0xe" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar3) {\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }" if (parenthesized_expression "(0xfeff < uVar3)" ( (binary_expression "0xfeff < uVar3" number_literal < identifier) )) (compound_statement "{\n          if (uVar3 != 0xffff) goto LAB_001ddd78;\n          pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;\n          if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }\n          uVar3 = (*local_34)(pXVar6,this,iVar11);\n        }" { (if_statement "if (uVar3 != 0xffff) goto LAB_001ddd78;" if (parenthesized_expression "(uVar3 != 0xffff)" ( (binary_expression "uVar3 != 0xffff" identifier != number_literal) )) (goto_statement "goto LAB_001ddd78;" goto statement_identifier ;)) (expression_statement "pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_;" (assignment_expression "pXVar6 = (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_" identifier = (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_true>)" ( (comma_expression "this->super_Sized_relobj<32,_true" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pXVar6 == (Xindex *)0x0) {\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }" if (parenthesized_expression "(pXVar6 == (Xindex *)0x0)" ( (binary_expression "pXVar6 == (Xindex *)0x0" identifier == (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);\n            (this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;\n          }" { (expression_statement "pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this);" (assignment_expression "pXVar6 = (Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this)" identifier = (cast_expression "(Xindex *)\n                     (*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this)" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b])" ( (pointer_expression "*(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b]" * (subscript_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                       [0x1b]" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_true>)" ( (comma_expression "this->super_Sized_relobj<32,_true" (binary_expression "this->super_Sized_relobj<32" (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<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6;" (assignment_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_ = pXVar6" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object.xindex_" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_true>)" ( (comma_expression "this->super_Sized_relobj<32,_true" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) })) (expression_statement "uVar3 = (*local_34)(pXVar6,this,iVar11);" (assignment_expression "uVar3 = (*local_34)(pXVar6,this,iVar11)" identifier = (call_expression "(*local_34)(pXVar6,this,iVar11)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(pXVar6,this,iVar11)" ( identifier , identifier , identifier )))) ;) })) (if_statement "if ((shndx == uVar3) && (local_38 == 0)) {\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }" if (parenthesized_expression "((shndx == uVar3) && (local_38 == 0))" ( (binary_expression "(shndx == uVar3) && (local_38 == 0)" (parenthesized_expression "(shndx == uVar3)" ( (binary_expression "shndx == uVar3" identifier == identifier) )) && (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }\n        }" { (if_statement "if (info == (Symbol_location_info *)0x0) {\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }" if (parenthesized_expression "(info == (Symbol_location_info *)0x0)" ( (binary_expression "info == (Symbol_location_info *)0x0" identifier == (cast_expression "(Symbol_location_info *)0x0" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }" { (if_statement "if (puVar1[1] <= local_2c) {\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }" if (parenthesized_expression "(puVar1[1] <= local_2c)" ( (binary_expression "puVar1[1] <= local_2c" (subscript_expression "puVar1[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n              uVar3 = puVar1[2];\n              goto LAB_001dddcc;\n            }" { (expression_statement "uVar3 = puVar1[2];" (assignment_expression "uVar3 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001dddcc;" goto statement_identifier ;) })) }) (else_clause "else {\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }" else (compound_statement "{\n            uVar3 = puVar1[2];\n            if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }\n          }" { (expression_statement "uVar3 = puVar1[2];" (assignment_expression "uVar3 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (if_statement "if (info == (Symbol_location_info *)0x0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }" if (parenthesized_expression "(info == (Symbol_location_info *)0x0)" ( (binary_expression "info == (Symbol_location_info *)0x0" identifier == (cast_expression "(Symbol_location_info *)0x0" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }\n            }" { (labeled_statement "LAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }" statement_identifier : (if_statement "if (local_2c < puVar1[1] + uVar3) {\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }" if (parenthesized_expression "(local_2c < puVar1[1] + uVar3)" ( (binary_expression "local_2c < puVar1[1] + uVar3" identifier < (binary_expression "puVar1[1] + uVar3" (subscript_expression "puVar1[1]" identifier [ number_literal ]) + identifier)) )) (compound_statement "{\n                uVar3 = *puVar1;\n                *(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar11 = offset._0_4_ + 0x18;\n                if (names_size < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3);\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                pcVar14 = get_symbol_name;\n                piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n                puVar10 = PTR_do_gold_unreachable_004c1a30;\n                (*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);\n                if (piVar7[0x2d] == 0) {\n                  return false;\n                }\n                iStack_74 = offset._0_4_;\n                pcVar9 = *(code **)(puVar10 + 0x2e5d58);\n                pSStack_7c = this;\n                iStack_78 = iVar11;\n                pSStack_70 = info;\n                pcStack_6c = pcVar14;\n                if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }\n                this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);\n                (**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);\nLAB_001de298:\n                    /* WARNING: Subroutine does not return */\n                Object::input_file(this_00);\n              }" { (expression_statement "uVar3 = *puVar1;" (assignment_expression "uVar3 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;" (assignment_expression "*(uint *)(offset._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 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 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" 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 < uVar3) {\n                  (*(code *)PTR_assign_004c3d50)(iVar11,PTR_s__s_004c1a50 + 0x509c);\n                  return true;\n                }" if (parenthesized_expression "(names_size < uVar3)" ( (binary_expression "names_size < uVar3" 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_30 + uVar3);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar11,local_30 + uVar3)" (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_30 + uVar3)" ( identifier , (binary_expression "local_30 + uVar3" 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 "pcVar14 = get_symbol_name;" (assignment_expression "pcVar14 = get_symbol_name" identifier = identifier) ;) (expression_statement "piVar7 = (int *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);" (assignment_expression "piVar7 = (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 "puVar10 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar10 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(piVar7,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 "(piVar7,0x5c,PTR_s__s_004c1a50 + 0x61ac)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x61ac" identifier + number_literal) ))) ;) (if_statement "if (piVar7[0x2d] == 0) {\n                  return false;\n                }" if (parenthesized_expression "(piVar7[0x2d] == 0)" ( (binary_expression "piVar7[0x2d] == 0" (subscript_expression "piVar7[0x2d]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  return false;\n                }" { (return_statement "return false;" return false ;) })) (expression_statement "iStack_74 = offset._0_4_;" (assignment_expression "iStack_74 = offset._0_4_" identifier = (field_expression "offset._0_4_" identifier . field_identifier)) ;) (expression_statement "pcVar9 = *(code **)(puVar10 + 0x2e5d58);" (assignment_expression "pcVar9 = *(code **)(puVar10 + 0x2e5d58)" identifier = (pointer_expression "*(code **)(puVar10 + 0x2e5d58)" * (cast_expression "(code **)(puVar10 + 0x2e5d58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e5d58)" ( (binary_expression "puVar10 + 0x2e5d58" identifier + number_literal) ))))) ;) (expression_statement "pSStack_7c = this;" (assignment_expression "pSStack_7c = this" identifier = identifier) ;) (expression_statement "iStack_78 = iVar11;" (assignment_expression "iStack_78 = iVar11" identifier = identifier) ;) (expression_statement "pSStack_70 = info;" (assignment_expression "pSStack_70 = info" identifier = identifier) ;) (expression_statement "pcStack_6c = pcVar14;" (assignment_expression "pcStack_6c = pcVar14" identifier = identifier) ;) (if_statement "if (*(code **)(*piVar7 + 0x38) == pcVar9) {\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }\n                else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }" if (parenthesized_expression "(*(code **)(*piVar7 + 0x38) == pcVar9)" ( (binary_expression "*(code **)(*piVar7 + 0x38) == pcVar9" (pointer_expression "*(code **)(*piVar7 + 0x38)" * (cast_expression "(code **)(*piVar7 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x38)" ( (binary_expression "*piVar7 + 0x38" (pointer_expression "*piVar7" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\n                  }\n                }" { (labeled_statement "elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[0x2d]);" statement_identifier (ERROR "::Elf_file<32,_true,_gold::Object>:" : : (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[0x2d]);" (call_expression "section_contents\n                            (&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[0x2d])" identifier (argument_list "(&LStack_a0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),\n                             piVar7[0x2d])" ( (pointer_expression "&LStack_a0" & identifier) , (call_expression "(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24)" (parenthesized_expression "(Elf_file<32,_true,_gold::Object> *)" ( (ERROR "Elf_file<32,_true,_gold::" (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar7 + 0x24)" ( (binary_expression "piVar7 + 0x24" identifier + number_literal) ))) , (subscript_expression "piVar7[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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }\n                    this_00 = (Object *)piVar7[7];\n                    if (this_00 == (Object *)0x0) goto LAB_001de298;\n                    iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    pcVar14 = *(code **)(*piVar7 + 0x54);\n                    uVar3 = piVar7[0x2d];\n                    if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;\n                    goto LAB_001de094;\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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\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 *)(puVar10 + 0x2e3fd0);\n                      goto LAB_001de080;\n                    }" { (expression_statement "iVar11 = *(int *)(puVar10 + 0x2e3fd0);" (assignment_expression "iVar11 = *(int *)(puVar10 + 0x2e3fd0)" identifier = (pointer_expression "*(int *)(puVar10 + 0x2e3fd0)" * (cast_expression "(int *)(puVar10 + 0x2e3fd0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x2e3fd0)" ( (binary_expression "puVar10 + 0x2e3fd0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_001de080;" goto statement_identifier ;) })) (expression_statement "this_00 = (Object *)piVar7[7];" (assignment_expression "this_00 = (Object *)piVar7[7]" identifier = (cast_expression "(Object *)piVar7[7]" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[7]" identifier [ number_literal ]))) ;) (if_statement "if (this_00 == (Object *)0x0) goto LAB_001de298;" 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_001de298;" goto statement_identifier ;)) (expression_statement "iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);" (assignment_expression "iVar11 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_)" identifier = (call_expression "(**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_)" (parenthesized_expression "(**(code **)(puVar10 + 0x2e3b70))" ( (pointer_expression "**(code **)(puVar10 + 0x2e3b70)" * (pointer_expression "*(code **)(puVar10 + 0x2e3b70)" * (cast_expression "(code **)(puVar10 + 0x2e3b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e3b70)" ( (binary_expression "puVar10 + 0x2e3b70" identifier + number_literal) ))))) )) (argument_list "(&this_00->offset_)" ( (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier)) )))) ;) (expression_statement "pcVar14 = *(code **)(*piVar7 + 0x54);" (assignment_expression "pcVar14 = *(code **)(*piVar7 + 0x54)" identifier = (pointer_expression "*(code **)(*piVar7 + 0x54)" * (cast_expression "(code **)(*piVar7 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x54)" ( (binary_expression "*piVar7 + 0x54" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = piVar7[0x2d];" (assignment_expression "uVar3 = piVar7[0x2d]" identifier = (subscript_expression "piVar7[0x2d]" identifier [ number_literal ])) ;) (if_statement "if (pcVar14 != *(code **)(puVar10 + 0x2e5d68)) goto LAB_001de1c0;" if (parenthesized_expression "(pcVar14 != *(code **)(puVar10 + 0x2e5d68))" ( (binary_expression "pcVar14 != *(code **)(puVar10 + 0x2e5d68)" identifier != (pointer_expression "*(code **)(puVar10 + 0x2e5d68)" * (cast_expression "(code **)(puVar10 + 0x2e5d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e5d68)" ( (binary_expression "puVar10 + 0x2e5d68" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001de1c0;" goto statement_identifier ;)) (goto_statement "goto LAB_001de094;" goto statement_identifier ;) })) }) (else_clause "else {\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }" else (compound_statement "{\n                  iVar11 = (**(code **)(*piVar7 + 0x38))();\nLAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);\n                  uVar3 = piVar7[0x2d];\n                  if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }\n                  elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\n                  }\n                }" { (expression_statement "iVar11 = (**(code **)(*piVar7 + 0x38))();" (assignment_expression "iVar11 = (**(code **)(*piVar7 + 0x38))()" identifier = (call_expression "(**(code **)(*piVar7 + 0x38))()" (parenthesized_expression "(**(code **)(*piVar7 + 0x38))" ( (pointer_expression "**(code **)(*piVar7 + 0x38)" * (pointer_expression "*(code **)(*piVar7 + 0x38)" * (cast_expression "(code **)(*piVar7 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x38)" ( (binary_expression "*piVar7 + 0x38" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (labeled_statement "LAB_001de080:\n                  pcVar14 = *(code **)(*piVar7 + 0x54);" statement_identifier : (expression_statement "pcVar14 = *(code **)(*piVar7 + 0x54);" (assignment_expression "pcVar14 = *(code **)(*piVar7 + 0x54)" identifier = (pointer_expression "*(code **)(*piVar7 + 0x54)" * (cast_expression "(code **)(*piVar7 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x54)" ( (binary_expression "*piVar7 + 0x54" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;)) (expression_statement "uVar3 = piVar7[0x2d];" (assignment_expression "uVar3 = piVar7[0x2d]" identifier = (subscript_expression "piVar7[0x2d]" identifier [ number_literal ])) ;) (if_statement "if (pcVar14 == *(code **)(puVar10 + 0x2e5d68)) {\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }\n                  else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }" if (parenthesized_expression "(pcVar14 == *(code **)(puVar10 + 0x2e5d68))" ( (binary_expression "pcVar14 == *(code **)(puVar10 + 0x2e5d68)" identifier == (pointer_expression "*(code **)(puVar10 + 0x2e5d68)" * (cast_expression "(code **)(puVar10 + 0x2e5d68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e5d68)" ( (binary_expression "puVar10 + 0x2e5d68" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);\n                    if (uVar3 < 0xff00) goto LAB_001de0b0;\nLAB_001de1d8:\n                    EStack_88 = uVar3;\n                    (**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);\n                    uVar3 = EStack_88 + piVar7[0x2a];\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }" { (labeled_statement "LAB_001de094:\n                    uVar3 = elfcpp::Elf_file<32,_true,_gold::Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);" statement_identifier : (ERROR "uVar3 = elfcpp::Elf_file<32,_true,_gold::" (comma_expression "uVar3 = elfcpp::Elf_file<32,_true,_gold" (binary_expression "uVar3 = elfcpp::Elf_file<32" (assignment_expression "uVar3 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);" (binary_expression "Object>::section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3)" identifier > (ERROR "::" : :) (call_expression "section_link\n                                      ((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3)" identifier (argument_list "((Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3)" ( (call_expression "(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24)" (parenthesized_expression "(Elf_file<32,_true,_gold::Object> *)" ( (ERROR "Elf_file<32,_true,_gold::" (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar7 + 0x24)" ( (binary_expression "piVar7 + 0x24" identifier + number_literal) ))) , identifier )))) ;)) (if_statement "if (uVar3 < 0xff00) goto LAB_001de0b0;" if (parenthesized_expression "(uVar3 < 0xff00)" ( (binary_expression "uVar3 < 0xff00" identifier < number_literal) )) (goto_statement "goto LAB_001de0b0;" goto statement_identifier ;)) (labeled_statement "LAB_001de1d8:\n                    EStack_88 = uVar3;" statement_identifier : (expression_statement "EStack_88 = uVar3;" (assignment_expression "EStack_88 = uVar3" identifier = identifier) ;)) (expression_statement "(**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24);" (call_expression "(**(code **)(puVar10 + 0x2e3fcc))(piVar7 + 0x24)" (parenthesized_expression "(**(code **)(puVar10 + 0x2e3fcc))" ( (pointer_expression "**(code **)(puVar10 + 0x2e3fcc)" * (pointer_expression "*(code **)(puVar10 + 0x2e3fcc)" * (cast_expression "(code **)(puVar10 + 0x2e3fcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e3fcc)" ( (binary_expression "puVar10 + 0x2e3fcc" identifier + number_literal) ))))) )) (argument_list "(piVar7 + 0x24)" ( (binary_expression "piVar7 + 0x24" identifier + number_literal) ))) ;) (expression_statement "uVar3 = EStack_88 + piVar7[0x2a];" (assignment_expression "uVar3 = EStack_88 + piVar7[0x2a]" identifier = (binary_expression "EStack_88 + piVar7[0x2a]" identifier + (subscript_expression "piVar7[0x2a]" identifier [ number_literal ]))) ;) (expression_statement "pcVar14 = *(code **)(*piVar7 + 0x38);" (assignment_expression "pcVar14 = *(code **)(*piVar7 + 0x38)" identifier = (pointer_expression "*(code **)(*piVar7 + 0x38)" * (cast_expression "(code **)(*piVar7 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x38)" ( (binary_expression "*piVar7 + 0x38" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;) }) (else_clause "else {\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }" else (compound_statement "{\nLAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);\n                    if (0xfeff < uVar3) goto LAB_001de1d8;\nLAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);\n                  }" { (labeled_statement "LAB_001de1c0:\n                    uVar3 = (*pcVar14)(piVar7);" statement_identifier : (expression_statement "uVar3 = (*pcVar14)(piVar7);" (assignment_expression "uVar3 = (*pcVar14)(piVar7)" identifier = (call_expression "(*pcVar14)(piVar7)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(piVar7)" ( identifier )))) ;)) (if_statement "if (0xfeff < uVar3) goto LAB_001de1d8;" if (parenthesized_expression "(0xfeff < uVar3)" ( (binary_expression "0xfeff < uVar3" number_literal < identifier) )) (goto_statement "goto LAB_001de1d8;" goto statement_identifier ;)) (labeled_statement "LAB_001de0b0:\n                    pcVar14 = *(code **)(*piVar7 + 0x38);" statement_identifier : (expression_statement "pcVar14 = *(code **)(*piVar7 + 0x38);" (assignment_expression "pcVar14 = *(code **)(*piVar7 + 0x38)" identifier = (pointer_expression "*(code **)(*piVar7 + 0x38)" * (cast_expression "(code **)(*piVar7 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar7 + 0x38)" ( (binary_expression "*piVar7 + 0x38" (pointer_expression "*piVar7" * identifier) + number_literal) ))))) ;)) }))) (if_statement "if (pcVar14 != pcVar9) {\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }" if (parenthesized_expression "(pcVar14 != pcVar9)" ( (binary_expression "pcVar14 != pcVar9" identifier != identifier) )) (compound_statement "{\n                    cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\nLAB_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);\n                  }" { (expression_statement "cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0);" (assignment_expression "cVar5 = (*pcVar14)(piVar7,uVar3,&iStack_90,0)" identifier = (call_expression "(*pcVar14)(piVar7,uVar3,&iStack_90,0)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(piVar7,uVar3,&iStack_90,0)" ( identifier , identifier , (pointer_expression "&iStack_90" & identifier) , number_literal )))) ;) (expression_statement "puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);" (assignment_expression "puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10)" identifier = (cast_expression "(undefined4 *)(iVar11 + iVar4 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar4 * 0x10)" ( (binary_expression "iVar11 + iVar4 * 0x10" identifier + (binary_expression "iVar4 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }" if (parenthesized_expression "((undefined4 *)(iVar11 + iStack_8c) <= puVar8)" ( (binary_expression "(undefined4 *)(iVar11 + iStack_8c) <= puVar8" (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_001de144:\n                    return (bool)(cVar5 + (char)*puVar8);" statement_identifier : (return_statement "return (bool)(cVar5 + (char)*puVar8);" return (cast_expression "(bool)(cVar5 + (char)*puVar8)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(cVar5 + (char)*puVar8)" ( (binary_expression "cVar5 + (char)*puVar8" identifier + (cast_expression "(char)*puVar8" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*puVar8" * identifier))) ))) ;)) })) (labeled_statement "elfcpp::Elf_file<32,_true,_gold::Object>::section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);" statement_identifier (ERROR "::Elf_file<32,_true,_gold::Object>:" : : (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3);" (call_expression "section_contents\n                            (&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3)" identifier (argument_list "(&LStack_b0,(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24),uVar3)" ( (pointer_expression "&LStack_b0" & identifier) , (call_expression "(Elf_file<32,_true,_gold::Object> *)(piVar7 + 0x24)" (parenthesized_expression "(Elf_file<32,_true,_gold::Object> *)" ( (ERROR "Elf_file<32,_true,_gold::" (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(piVar7 + 0x24)" ( (binary_expression "piVar7 + 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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }\n                    puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);\n                    if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }\n                    goto LAB_001de144;\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 *)(puVar10 + 0x2e3fd0);\n                    }\n                    else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&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 *)(puVar10 + 0x2e3fd0);\n                    }" { (expression_statement "cVar5 = (char)*(undefined4 *)(puVar10 + 0x2e3fd0);" (assignment_expression "cVar5 = (char)*(undefined4 *)(puVar10 + 0x2e3fd0)" identifier = (cast_expression "(char)*(undefined4 *)(puVar10 + 0x2e3fd0)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(undefined4 *)(puVar10 + 0x2e3fd0)" * (cast_expression "(undefined4 *)(puVar10 + 0x2e3fd0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x2e3fd0)" ( (binary_expression "puVar10 + 0x2e3fd0" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }" else (compound_statement "{\n                      this_00 = (Object *)piVar7[7];\n                      if (this_00 == (Object *)0x0) goto LAB_001de298;\n                      cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);\n                    }" { (expression_statement "this_00 = (Object *)piVar7[7];" (assignment_expression "this_00 = (Object *)piVar7[7]" identifier = (cast_expression "(Object *)piVar7[7]" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar7[7]" identifier [ number_literal ]))) ;) (if_statement "if (this_00 == (Object *)0x0) goto LAB_001de298;" 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_001de298;" goto statement_identifier ;)) (expression_statement "cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_);" (assignment_expression "cVar5 = (**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_)" identifier = (call_expression "(**(code **)(puVar10 + 0x2e3b70))(&this_00->offset_)" (parenthesized_expression "(**(code **)(puVar10 + 0x2e3b70))" ( (pointer_expression "**(code **)(puVar10 + 0x2e3b70)" * (pointer_expression "*(code **)(puVar10 + 0x2e3b70)" * (cast_expression "(code **)(puVar10 + 0x2e3b70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e3b70)" ( (binary_expression "puVar10 + 0x2e3b70" identifier + number_literal) ))))) )) (argument_list "(&this_00->offset_)" ( (pointer_expression "&this_00->offset_" & (field_expression "this_00->offset_" identifier -> field_identifier)) )))) ;) }))) (expression_statement "puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10);" (assignment_expression "puVar8 = (undefined4 *)(iVar11 + iVar4 * 0x10)" identifier = (cast_expression "(undefined4 *)(iVar11 + iVar4 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar4 * 0x10)" ( (binary_expression "iVar11 + iVar4 * 0x10" identifier + (binary_expression "iVar4 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if ((undefined4 *)(iVar11 + iStack_8c) <= puVar8) {\n                      return false;\n                    }" if (parenthesized_expression "((undefined4 *)(iVar11 + iStack_8c) <= puVar8)" ( (binary_expression "(undefined4 *)(iVar11 + iStack_8c) <= puVar8" (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_001de144;" goto statement_identifier ;) })) }))) (expression_statement "this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584);" (assignment_expression "this_00 = (Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584)" identifier = (cast_expression "(Object *)(*(int *)(puVar10 + 0x2e3278) + 0x4584)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0x2e3278) + 0x4584)" ( (binary_expression "*(int *)(puVar10 + 0x2e3278) + 0x4584" (pointer_expression "*(int *)(puVar10 + 0x2e3278)" * (cast_expression "(int *)(puVar10 + 0x2e3278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x2e3278)" ( (binary_expression "puVar10 + 0x2e3278" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64);" (call_expression "(**(code **)(puVar10 + 0x2e3a2c))\n                          (this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64)" (parenthesized_expression "(**(code **)(puVar10 + 0x2e3a2c))" ( (pointer_expression "**(code **)(puVar10 + 0x2e3a2c)" * (pointer_expression "*(code **)(puVar10 + 0x2e3a2c)" * (cast_expression "(code **)(puVar10 + 0x2e3a2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x2e3a2c)" ( (binary_expression "puVar10 + 0x2e3a2c" identifier + number_literal) ))))) )) (argument_list "(this_00,0xc0,*(int *)(puVar10 + 0x2e3a4c) + 0x5d64)" ( identifier , number_literal , (binary_expression "*(int *)(puVar10 + 0x2e3a4c) + 0x5d64" (pointer_expression "*(int *)(puVar10 + 0x2e3a4c)" * (cast_expression "(int *)(puVar10 + 0x2e3a4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x2e3a4c)" ( (binary_expression "puVar10 + 0x2e3a4c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_001de298:\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 ))) ;))) }))) })) }))) })) (labeled_statement "LAB_001ddd78:\n        puVar1 = puVar1 + 4;" statement_identifier : (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;)) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (puVar1 == puVar13) {\n          return false;\n        }" if (parenthesized_expression "(puVar1 == puVar13)" ( (binary_expression "puVar1 == puVar13" identifier == identifier) )) (compound_statement "{\n          return false;\n        }" { (return_statement "return false;" return false ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) })) (return_statement "return false;" return false ;) (ERROR "}" }))
(translation_unit "uint gold::Sized_relobj_file<32,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  undefined4 uVar4;\n  int iVar5;\n  int in_a2;\n  uint in_a3;\n  undefined *puVar6;\n  int iVar7;\n  uint *puVar8;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  undefined4 local_3c;\n  uint local_38;\n  code *local_34;\n  int 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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }\n  }\n  return 0;\n}\n\n" (declaration "uint gold::Sized_relobj_file<32,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 "<32" < 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 "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int in_a2;" primitive_type identifier ;) (declaration "uint in_a3;" type_identifier identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint *puVar8;" type_identifier (pointer_declarator "*puVar8" * 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 "uint local_38;" type_identifier identifier ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "int local_30;" primitive_type 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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c3d6c)" ( (binary_expression "*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3d6c" (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_004c3d6c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }" { (ERROR "uVar2 = elfcpp::Elf_file<32,true,gold::" (comma_expression "uVar2 = elfcpp::Elf_file<32,true,gold" (binary_expression "uVar2 = elfcpp::Elf_file<32" (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<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier > (ERROR "::" : :) (call_expression "section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" identifier (argument_list "((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" ( (call_expression "(Elf_file<32,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<32,true,gold::Object> *)" ( (ERROR "Elf_file<32,true,gold::" (comma_expression "Elf_file<32,true,gold" (binary_expression "Elf_file<32" 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_004c1fd0)(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_004c1fd0)(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_004c1fd0)(param_1 + 0x90);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fd0)(param_1 + 0x90)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fd0)" ( (pointer_expression "*(code *)PTR_initialize_shnum_004c1fd0" * (cast_expression "(code *)PTR_initialize_shnum_004c1fd0" ( (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_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);" (assignment_expression "local_30 = (**(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 (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }" if (parenthesized_expression "(local_44 >> 4 != 0)" ( (binary_expression "local_44 >> 4 != 0" (binary_expression "local_44 >> 4" identifier >> number_literal) != number_literal) )) (compound_statement "{\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }" { (expression_statement "local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_34 = (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 "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "puVar8 = puVar1 + (local_44 >> 4) * 4;" (assignment_expression "puVar8 = puVar1 + (local_44 >> 4) * 4" identifier = (binary_expression "puVar1 + (local_44 >> 4) * 4" identifier + (binary_expression "(local_44 >> 4) * 4" (parenthesized_expression "(local_44 >> 4)" ( (binary_expression "local_44 >> 4" identifier >> number_literal) )) * number_literal))) ;) (expression_statement "local_38 = (uint)(in_a2 < 0);" (assignment_expression "local_38 = (uint)(in_a2 < 0)" identifier = (call_expression "(uint)(in_a2 < 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_a2 < 0)" ( (binary_expression "in_a2 < 0" identifier < number_literal) )))) ;) (expression_statement "puVar6 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + 0x509c" identifier = (binary_expression "PTR_s__s_004c1a50 + 0x509c" identifier + number_literal)) ;) (do_statement "do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);" do (compound_statement "{\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      }" { (while_statement "while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }" while (parenthesized_expression "((puVar1[3] & 0xf000000) == 0x4000000)" ( (binary_expression "(puVar1[3] & 0xf000000) == 0x4000000" (parenthesized_expression "(puVar1[3] & 0xf000000)" ( (binary_expression "puVar1[3] & 0xf000000" (subscript_expression "puVar1[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }" { (if_statement "if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }" if (parenthesized_expression "(*puVar1 < local_48)" ( (binary_expression "*puVar1 < local_48" (pointer_expression "*puVar1" * identifier) < identifier) )) (compound_statement "{\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }" { (expression_statement "local_40 = local_30 + *puVar1;" (assignment_expression "local_40 = local_30 + *puVar1" identifier = (binary_expression "local_30 + *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 "uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "uVar4 = (*(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,uVar4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4)" (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,uVar4)" ( (field_expression "param_2._0_4_" identifier . field_identifier) , number_literal , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001ddd78;" goto statement_identifier ;) })) (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,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),puVar6,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 "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (puVar1 == puVar8) {\n            return 0;\n          }" if (parenthesized_expression "(puVar1 == puVar8)" ( (binary_expression "puVar1 == puVar8" identifier == identifier) )) (compound_statement "{\n            return 0;\n          }" { (return_statement "return 0;" return number_literal ;) })) })) (expression_statement "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);" (assignment_expression "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe)" identifier = (binary_expression "(Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe)" (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 + 0xe)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar1 + 0xe)" ( (binary_expression "(int)puVar1 + 0xe" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }" if (parenthesized_expression "((Symbol_location_info *)0xfeff < pSVar3)" ( (binary_expression "(Symbol_location_info *)0xfeff < pSVar3" (cast_expression "(Symbol_location_info *)0xfeff" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }" { (if_statement "if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;" 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)) )) (goto_statement "goto LAB_001ddd78;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar5 = *(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 (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }" { (expression_statement "iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);" (assignment_expression "iVar5 = (**(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) = iVar5;" (assignment_expression "*(int *)(param_1 + 0x30) = iVar5" (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_34)(iVar5,param_1,iVar7);" (assignment_expression "pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7)" identifier = (cast_expression "(Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7)" ( (type_descriptor "Symbol_location_info *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_34)(iVar5,param_1,iVar7)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(iVar5,param_1,iVar7)" ( identifier , identifier , identifier ))))) ;) })) (if_statement "if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }" if (parenthesized_expression "((param_3 == pSVar3) && (local_38 == 0))" ( (binary_expression "(param_3 == pSVar3) && (local_38 == 0)" (parenthesized_expression "(param_3 == pSVar3)" ( (binary_expression "param_3 == pSVar3" identifier == identifier) )) && (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) ))) )) (compound_statement "{\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }" { (if_statement "if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" if (parenthesized_expression "(in_a2 == 0)" ( (binary_expression "in_a2 == 0" identifier == number_literal) )) (compound_statement "{\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }" { (if_statement "if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }" if (parenthesized_expression "(puVar1[1] <= local_2c)" ( (binary_expression "puVar1[1] <= local_2c" (subscript_expression "puVar1[1]" identifier [ number_literal ]) <= identifier) )) (compound_statement "{\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }" { (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_001dddcc;" goto statement_identifier ;) })) }) (else_clause "else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" else (compound_statement "{\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" { (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (if_statement "if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }" if (parenthesized_expression "(in_a2 == 0)" ( (binary_expression "in_a2 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }" { (labeled_statement "LAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" statement_identifier : (if_statement "if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" if (parenthesized_expression "(local_2c < puVar1[1] + uVar2)" ( (binary_expression "local_2c < puVar1[1] + uVar2" identifier < (binary_expression "puVar1[1] + uVar2" (subscript_expression "puVar1[1]" identifier [ number_literal ]) + identifier)) )) (compound_statement "{\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" { (expression_statement "uVar2 = *puVar1;" (assignment_expression "uVar2 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;" (assignment_expression "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 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 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" * (cast_expression "(byte *)(puVar1 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + 3)" ( (binary_expression "puVar1 + 3" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "iVar7 = param_2._0_4_ + 0x18;" (assignment_expression "iVar7 = 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)(iVar7,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)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,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 "(iVar7,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)(iVar7,local_30 + uVar2);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,local_30 + 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 "(iVar7,local_30 + uVar2)" ( identifier , (binary_expression "local_30 + uVar2" identifier + identifier) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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 *)(*(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 = (*(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 = (*(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 ;) })) (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                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }" if (parenthesized_expression "((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0))" ( (binary_expression "(uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)" ( (comma_expression "iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0" (assignment_expression "iVar5 = (*(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 "iVar5 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }" { (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar7,iVar5);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,iVar5)" (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 "(iVar7,iVar5)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar5);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar5)" (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 "(iVar5)" ( identifier ))) ;) (return_statement "return uVar2;" return identifier ;) })) (return_statement "return 1;" return number_literal ;) }))) })) }))) })) (labeled_statement "LAB_001ddd78:\n        puVar1 = puVar1 + 4;" statement_identifier : (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ;)) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar1 != puVar8)" ( (binary_expression "puVar1 != puVar8" identifier != identifier) )) ;) })) })) (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 (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 (pointer_declarator * IDENT) ;) (declaration TYPE 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 (binary_expression IDENT >> LIT) != LIT) )) (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 + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 { (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 IDENT == IDENT) )) (compound_statement { (return_statement return LIT ;) })) })) (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression (subscript_expression IDENT [ LIT ]) + 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 = (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 ;) })) (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 ;) }))) })) }))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) })) (return_statement return LIT ;) (ERROR }))
(declaration "uint gold::Sized_relobj_file<32,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 "<32" (< "<") (number_literal "32")) (, ",") (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 "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int in_a2;" (primitive_type "int") (identifier "in_a2") (; ";")) (declaration "uint in_a3;" (type_identifier "uint") (identifier "in_a3") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint *puVar8;" (type_identifier "uint") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (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 "uint local_38;" (type_identifier "uint") (identifier "local_38") (; ";")) (declaration "code *local_34;" (type_identifier "code") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "int local_30;" (primitive_type "int") (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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);\n      uVar2 = local_40 + *(int *)(param_1 + 0xa8);\n    }\n    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);\n    if (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\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_004c3d6c) {\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,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_004c3d6c)" (( "(") (binary_expression "*(code **)(*(int *)param_1 + 0x54) == (code *)PTR_do_section_link_004c3d6c" (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_004c3d6c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_section_link_004c3d6c"))) () ")")) (compound_statement "{\n      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));\n    }" ({ "{") (ERROR "uVar2 = elfcpp::Elf_file<32,true,gold::" (comma_expression "uVar2 = elfcpp::Elf_file<32,true,gold" (binary_expression "uVar2 = elfcpp::Elf_file<32" (assignment_expression "uVar2 = elfcpp" (identifier "uVar2") (= "=") (identifier "elfcpp")) (ERROR "::Elf_file" (: ":") (: ":") (identifier "Elf_file")) (< "<") (number_literal "32")) (, ",") (comma_expression "true,gold" (true "true") (, ",") (identifier "gold"))) (: ":") (: ":")) (expression_statement "Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" (identifier "Object") (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "section_link\n                        ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" (identifier "section_link") (argument_list "((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),\n                         *(uint *)(param_1 + 0xb4))" (( "(") (call_expression "(Elf_file<32,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<32,true,gold::Object> *)" (( "(") (ERROR "Elf_file<32,true,gold::" (comma_expression "Elf_file<32,true,gold" (binary_expression "Elf_file<32" (identifier "Elf_file") (< "<") (number_literal "32")) (, ",") (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_004c1fd0)(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_004c1fd0)(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_004c1fd0)(param_1 + 0x90);" (call_expression "(*(code *)PTR_initialize_shnum_004c1fd0)(param_1 + 0x90)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_004c1fd0)" (( "(") (pointer_expression "*(code *)PTR_initialize_shnum_004c1fd0" (* "*") (cast_expression "(code *)PTR_initialize_shnum_004c1fd0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_initialize_shnum_004c1fd0"))) () ")")) (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_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);" (assignment_expression "local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0)" (identifier "local_30") (= "=") (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 (local_44 >> 4 != 0) {\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }" (if "if") (parenthesized_expression "(local_44 >> 4 != 0)" (( "(") (binary_expression "local_44 >> 4 != 0" (binary_expression "local_44 >> 4" (identifier "local_44") (>> ">>") (number_literal "4")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;\n      iVar7 = 0;\n      puVar8 = puVar1 + (local_44 >> 4) * 4;\n      local_38 = (uint)(in_a2 < 0);\n      puVar6 = PTR_s__s_004c1a50 + 0x509c;\n      do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);\n    }" ({ "{") (expression_statement "local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;" (assignment_expression "local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0" (identifier "local_34") (= "=") (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 "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8 = puVar1 + (local_44 >> 4) * 4;" (assignment_expression "puVar8 = puVar1 + (local_44 >> 4) * 4" (identifier "puVar8") (= "=") (binary_expression "puVar1 + (local_44 >> 4) * 4" (identifier "puVar1") (+ "+") (binary_expression "(local_44 >> 4) * 4" (parenthesized_expression "(local_44 >> 4)" (( "(") (binary_expression "local_44 >> 4" (identifier "local_44") (>> ">>") (number_literal "4")) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "local_38 = (uint)(in_a2 < 0);" (assignment_expression "local_38 = (uint)(in_a2 < 0)" (identifier "local_38") (= "=") (call_expression "(uint)(in_a2 < 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_a2 < 0)" (( "(") (binary_expression "in_a2 < 0" (identifier "in_a2") (< "<") (number_literal "0")) () ")")))) (; ";")) (expression_statement "puVar6 = PTR_s__s_004c1a50 + 0x509c;" (assignment_expression "puVar6 = PTR_s__s_004c1a50 + 0x509c" (identifier "puVar6") (= "=") (binary_expression "PTR_s__s_004c1a50 + 0x509c" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x509c"))) (; ";")) (do_statement "do {\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      } while (puVar1 != puVar8);" (do "do") (compound_statement "{\n        while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }\n        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);\n        if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }\n        if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }\nLAB_001ddd78:\n        puVar1 = puVar1 + 4;\n        iVar7 = iVar7 + 1;\n      }" ({ "{") (while_statement "while ((puVar1[3] & 0xf000000) == 0x4000000) {\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }" (while "while") (parenthesized_expression "((puVar1[3] & 0xf000000) == 0x4000000)" (( "(") (binary_expression "(puVar1[3] & 0xf000000) == 0x4000000" (parenthesized_expression "(puVar1[3] & 0xf000000)" (( "(") (binary_expression "puVar1[3] & 0xf000000" (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0xf000000")) () ")")) (== "==") (number_literal "0x4000000")) () ")")) (compound_statement "{\n          if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }\n          puVar1 = puVar1 + 4;\n          (*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);\n          iVar7 = iVar7 + 1;\n          if (puVar1 == puVar8) {\n            return 0;\n          }\n        }" ({ "{") (if_statement "if (*puVar1 < local_48) {\n            local_40 = local_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\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_30 + *puVar1;\n            local_3c = *(undefined4 *)(param_2._0_4_ + 4);\n            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);\n            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);\n            goto LAB_001ddd78;\n          }" ({ "{") (expression_statement "local_40 = local_30 + *puVar1;" (assignment_expression "local_40 = local_30 + *puVar1" (identifier "local_40") (= "=") (binary_expression "local_30 + *puVar1" (identifier "local_30") (+ "+") (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 "uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);" (assignment_expression "uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40)" (identifier "uVar4") (= "=") (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,uVar4);" (call_expression "(*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4)" (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,uVar4)" (( "(") (field_expression "param_2._0_4_" (identifier "param_2") (. ".") (field_identifier "_0_4_")) (, ",") (number_literal "0") (, ",") (identifier "local_3c") (, ",") (identifier "local_40") (, ",") (identifier "uVar4") () ")"))) (; ";")) (goto_statement "goto LAB_001ddd78;" (goto "goto") (statement_identifier "LAB_001ddd78") (; ";")) (} "}"))) (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "(*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);" (call_expression "(*(code *)PTR__M_replace_004c20a0)\n                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,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),puVar6,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 "puVar6") (, ",") (number_literal "9") () ")"))) (; ";")) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar1 == puVar8) {\n            return 0;\n          }" (if "if") (parenthesized_expression "(puVar1 == puVar8)" (( "(") (binary_expression "puVar1 == puVar8" (identifier "puVar1") (== "==") (identifier "puVar8")) () ")")) (compound_statement "{\n            return 0;\n          }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}"))) (expression_statement "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);" (assignment_expression "pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe)" (identifier "pSVar3") (= "=") (binary_expression "(Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe)" (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 + 0xe)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar1 + 0xe)" (( "(") (binary_expression "(int)puVar1 + 0xe" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (+ "+") (number_literal "0xe")) () ")"))))) (; ";")) (if_statement "if ((Symbol_location_info *)0xfeff < pSVar3) {\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }" (if "if") (parenthesized_expression "((Symbol_location_info *)0xfeff < pSVar3)" (( "(") (binary_expression "(Symbol_location_info *)0xfeff < pSVar3" (cast_expression "(Symbol_location_info *)0xfeff" (( "(") (type_descriptor "Symbol_location_info *" (type_identifier "Symbol_location_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfeff")) (< "<") (identifier "pSVar3")) () ")")) (compound_statement "{\n          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;\n          iVar5 = *(int *)(param_1 + 0x30);\n          if (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }\n          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);\n        }" ({ "{") (if_statement "if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;" (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"))) () ")")) (goto_statement "goto LAB_001ddd78;" (goto "goto") (statement_identifier "LAB_001ddd78") (; ";"))) (expression_statement "iVar5 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar5 = *(int *)(param_1 + 0x30)" (identifier "iVar5") (= "=") (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 (iVar5 == 0) {\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);\n            *(int *)(param_1 + 0x30) = iVar5;\n          }" ({ "{") (expression_statement "iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);" (assignment_expression "iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1)" (identifier "iVar5") (= "=") (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) = iVar5;" (assignment_expression "*(int *)(param_1 + 0x30) = iVar5" (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 "iVar5")) (; ";")) (} "}"))) (expression_statement "pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);" (assignment_expression "pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7)" (identifier "pSVar3") (= "=") (cast_expression "(Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7)" (( "(") (type_descriptor "Symbol_location_info *" (type_identifier "Symbol_location_info") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_34)(iVar5,param_1,iVar7)" (parenthesized_expression "(*local_34)" (( "(") (pointer_expression "*local_34" (* "*") (identifier "local_34")) () ")")) (argument_list "(iVar5,param_1,iVar7)" (( "(") (identifier "iVar5") (, ",") (identifier "param_1") (, ",") (identifier "iVar7") () ")"))))) (; ";")) (} "}"))) (if_statement "if ((param_3 == pSVar3) && (local_38 == 0)) {\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }" (if "if") (parenthesized_expression "((param_3 == pSVar3) && (local_38 == 0))" (( "(") (binary_expression "(param_3 == pSVar3) && (local_38 == 0)" (parenthesized_expression "(param_3 == pSVar3)" (( "(") (binary_expression "param_3 == pSVar3" (identifier "param_3") (== "==") (identifier "pSVar3")) () ")")) (&& "&&") (parenthesized_expression "(local_38 == 0)" (( "(") (binary_expression "local_38 == 0" (identifier "local_38") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }\n        }" ({ "{") (if_statement "if (in_a2 == 0) {\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }\n          else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(in_a2 == 0)" (( "(") (binary_expression "in_a2 == 0" (identifier "in_a2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }\n          }" ({ "{") (if_statement "if (puVar1[1] <= local_2c) {\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }" (if "if") (parenthesized_expression "(puVar1[1] <= local_2c)" (( "(") (binary_expression "puVar1[1] <= local_2c" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (<= "<=") (identifier "local_2c")) () ")")) (compound_statement "{\n              uVar2 = puVar1[2];\n              goto LAB_001dddcc;\n            }" ({ "{") (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (goto_statement "goto LAB_001dddcc;" (goto "goto") (statement_identifier "LAB_001dddcc") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" (else "else") (compound_statement "{\n            uVar2 = puVar1[2];\n            if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }\n          }" ({ "{") (expression_statement "uVar2 = puVar1[2];" (assignment_expression "uVar2 = puVar1[2]" (identifier "uVar2") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (in_a2 == 0) {\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }" (if "if") (parenthesized_expression "(in_a2 == 0)" (( "(") (binary_expression "in_a2 == 0" (identifier "in_a2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }\n            }" ({ "{") (labeled_statement "LAB_001dddcc:\n              if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" (statement_identifier "LAB_001dddcc") (: ":") (if_statement "if (local_2c < puVar1[1] + uVar2) {\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\n              }" (if "if") (parenthesized_expression "(local_2c < puVar1[1] + uVar2)" (( "(") (binary_expression "local_2c < puVar1[1] + uVar2" (identifier "local_2c") (< "<") (binary_expression "puVar1[1] + uVar2" (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "uVar2"))) () ")")) (compound_statement "{\n                uVar2 = *puVar1;\n                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;\n                iVar7 = param_2._0_4_ + 0x18;\n                if (local_48 < uVar2) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }\n                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);\n                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);\n                if ((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }\n                return 1;\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 + 3) & 0xf;" (assignment_expression "*(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 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 + 3) & 0xf" (pointer_expression "*(byte *)(puVar1 + 3)" (* "*") (cast_expression "(byte *)(puVar1 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar1 + 3)" (( "(") (binary_expression "puVar1 + 3" (identifier "puVar1") (+ "+") (number_literal "3")) () ")")))) (& "&") (number_literal "0xf"))) (; ";")) (expression_statement "iVar7 = param_2._0_4_ + 0x18;" (assignment_expression "iVar7 = param_2._0_4_ + 0x18" (identifier "iVar7") (= "=") (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)(iVar7,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)(iVar7,PTR_s__s_004c1a50 + 0x509c);\n                  return 1;\n                }" ({ "{") (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,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 "(iVar7,PTR_s__s_004c1a50 + 0x509c)" (( "(") (identifier "iVar7") (, ",") (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)(iVar7,local_30 + uVar2);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,local_30 + 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 "(iVar7,local_30 + uVar2)" (( "(") (identifier "iVar7") (, ",") (binary_expression "local_30 + uVar2" (identifier "local_30") (+ "+") (identifier "uVar2")) () ")"))) (; ";")) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {\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 *)(*(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 = (*(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 = (*(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") (; ";")) (} "}"))) (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                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }" (if "if") (parenthesized_expression "((uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0))" (( "(") (binary_expression "(uVar2 != 0) &&\n                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)" (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)" (( "(") (comma_expression "iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0" (assignment_expression "iVar5 = (*(code *)PTR_cplus_demangle_004c280c)\n                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3)" (identifier "iVar5") (= "=") (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 "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);\n                  (*(code *)PTR_free_004c5c18)(iVar5);\n                  return uVar2;\n                }" ({ "{") (expression_statement "(*(code *)PTR_assign_004c3d50)(iVar7,iVar5);" (call_expression "(*(code *)PTR_assign_004c3d50)(iVar7,iVar5)" (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 "(iVar7,iVar5)" (( "(") (identifier "iVar7") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_004c5c18)(iVar5);" (call_expression "(*(code *)PTR_free_004c5c18)(iVar5)" (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 "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (return_statement "return uVar2;" (return "return") (identifier "uVar2") (; ";")) (} "}"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))) (} "}"))) (} "}")))) (} "}"))) (labeled_statement "LAB_001ddd78:\n        puVar1 = puVar1 + 4;" (statement_identifier "LAB_001ddd78") (: ":") (expression_statement "puVar1 = puVar1 + 4;" (assignment_expression "puVar1 = puVar1 + 4" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4"))) (; ";"))) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 1" (identifier "iVar7") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar1 != puVar8)" (( "(") (binary_expression "puVar1 != puVar8" (identifier "puVar1") (!= "!=") (identifier "puVar8")) () ")")) (; ";")) (} "}"))) (} "}"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (ERROR "}" (} "}"))
(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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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 (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: (identifier) right: (identifier))) consequence: (compound_statement (return_statement (number_literal)))))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (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)))) (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)))))))))))) (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))) (return_statement (number_literal)) (ERROR))

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

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

{
  uint *puVar1;
  uint uVar2;
  Symbol_location_info *pSVar3;
  undefined4 uVar4;
  int iVar5;
  int in_a2;
  uint in_a3;
  undefined *puVar6;
  int iVar7;
  uint *puVar8;
  uint local_48;
  uint local_44;
  uint local_40;
  undefined4 local_3c;
  uint local_38;
  code *local_34;
  int 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_004c3d6c) {
      uVar2 = elfcpp::Elf_file<32,true,gold::Object>::section_link
                        ((Elf_file<32,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_004c1fd0)(param_1 + 0x90);
      uVar2 = local_40 + *(int *)(param_1 + 0xa8);
    }
    local_30 = (**(code **)(*(int *)param_1 + 0x38))(param_1,uVar2,&local_48,0);
    if (local_44 >> 4 != 0) {
      local_34 = (code *)PTR_sym_xindex_to_shndx_004c1ab0;
      iVar7 = 0;
      puVar8 = puVar1 + (local_44 >> 4) * 4;
      local_38 = (uint)(in_a2 < 0);
      puVar6 = PTR_s__s_004c1a50 + 0x509c;
      do {
        while ((puVar1[3] & 0xf000000) == 0x4000000) {
          if (*puVar1 < local_48) {
            local_40 = local_30 + *puVar1;
            local_3c = *(undefined4 *)(param_2._0_4_ + 4);
            uVar4 = (*(code *)PTR_strlen_004c5b9c)(local_40);
            (*(code *)PTR__M_replace_004c20a0)(param_2._0_4_,0,local_3c,local_40,uVar4);
            goto LAB_001ddd78;
          }
          puVar1 = puVar1 + 4;
          (*(code *)PTR__M_replace_004c20a0)
                    (param_2._0_4_,0,*(undefined4 *)(param_2._0_4_ + 4),puVar6,9);
          iVar7 = iVar7 + 1;
          if (puVar1 == puVar8) {
            return 0;
          }
        }
        pSVar3 = (Symbol_location_info *)(uint)*(ushort *)((int)puVar1 + 0xe);
        if ((Symbol_location_info *)0xfeff < pSVar3) {
          if (pSVar3 != (Symbol_location_info *)0xffff) goto LAB_001ddd78;
          iVar5 = *(int *)(param_1 + 0x30);
          if (iVar5 == 0) {
            iVar5 = (**(code **)(*(int *)param_1 + 0x6c))(param_1);
            *(int *)(param_1 + 0x30) = iVar5;
          }
          pSVar3 = (Symbol_location_info *)(*local_34)(iVar5,param_1,iVar7);
        }
        if ((param_3 == pSVar3) && (local_38 == 0)) {
          if (in_a2 == 0) {
            if (puVar1[1] <= local_2c) {
              uVar2 = puVar1[2];
              goto LAB_001dddcc;
            }
          }
          else {
            uVar2 = puVar1[2];
            if (in_a2 == 0) {
LAB_001dddcc:
              if (local_2c < puVar1[1] + uVar2) {
                uVar2 = *puVar1;
                *(uint *)(param_2._0_4_ + 0x30) = *(byte *)(puVar1 + 3) & 0xf;
                iVar7 = param_2._0_4_ + 0x18;
                if (local_48 < uVar2) {
                  (*(code *)PTR_assign_004c3d50)(iVar7,PTR_s__s_004c1a50 + 0x509c);
                  return 1;
                }
                (*(code *)PTR_assign_004c3d50)(iVar7,local_30 + uVar2);
                if (*(int *)(*(int *)PTR_parameters_004c19b4 + 8) == 0) {
                  uVar2 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x5c,
                                     PTR_s__s_004c1a50 + 0x61ac);
                  return uVar2;
                }
                uVar2 = (uint)*(byte *)(*(int *)(*(int *)PTR_parameters_004c19b4 + 8) + 0x5949);
                if ((uVar2 != 0) &&
                   (iVar5 = (*(code *)PTR_cplus_demangle_004c280c)
                                      (*(undefined4 *)(param_2._0_4_ + 0x18),3), iVar5 != 0)) {
                  (*(code *)PTR_assign_004c3d50)(iVar7,iVar5);
                  (*(code *)PTR_free_004c5c18)(iVar5);
                  return uVar2;
                }
                return 1;
              }
            }
          }
        }
LAB_001ddd78:
        puVar1 = puVar1 + 4;
        iVar7 = iVar7 + 1;
      } while (puVar1 != puVar8);
    }
  }
  return 0;
}

