
/* DWARF original prototype: Dwarf_range_list * read_range_list(Dwarf_ranges_table * this, Relobj *
   object, uchar * symtab, off_t symtab_size, uint addr_size, uint ranges_shndx, off_t offset) */

Dwarf_range_list * __thiscall
gold::Dwarf_ranges_table::read_range_list
          (Dwarf_ranges_table *this,Relobj *object,uchar *symtab,off_t symtab_size,uint addr_size,
          uint ranges_shndx,off_t offset)

{
  uchar *puVar1;
  pointer ppOVar2;
  iterator __position;
  _func_int_varargs **pp_Var3;
  _func_int_varargs *p_Var4;
  pointer pcVar5;
  bool bVar6;
  char cVar7;
  uint uVar8;
  int iVar9;
  uint uVar10;
  char *format;
  Valtype return_value_2;
  ulong *puVar11;
  ulong uVar12;
  Valtype return_value_3;
  ulong uVar13;
  ulong uVar14;
  Elf_reloc_mapper *pEVar15;
  long lVar16;
  Dwarf_range_list *local_68;
  ulong local_60;
  off_t value;
  long lStack_50;
  long local_48;
  
  bVar6 = read_ranges_table(this,object,symtab,symtab_size,ranges_shndx);
  if (bVar6) {
    lVar16 = offset - this->output_section_offset_;
    local_68 = (Dwarf_range_list *)operator_new(0x18);
    puVar1 = this->ranges_buffer_;
    (local_68->range_list_).
    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
    ._M_impl._M_start = (pointer)0x0;
    puVar11 = (ulong *)(puVar1 + lVar16);
    (local_68->range_list_).
    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
    ._M_impl._M_finish = (pointer)0x0;
    (local_68->range_list_).
    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
    ._M_impl._M_end_of_storage = (pointer)0x0;
    if (puVar11 < this->ranges_buffer_end_) {
      local_60 = 0;
      do {
        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;
        p_Var4 = pp_Var3[3];
        if (addr_size == 4) {
          if (p_Var4 == Relobj::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            cVar7 = (char)iVar9;
          }
          else {
            iVar9 = (*p_Var4)();
            cVar7 = (char)iVar9;
          }
          puVar1 = this->ranges_buffer_;
          uVar8 = (uint)*puVar11;
          if (cVar7 != '\0') {
            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;
          }
          uVar12 = (ulong)uVar8;
          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;
          p_Var4 = pp_Var3[3];
          if (p_Var4 == Relobj::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            cVar7 = (char)iVar9;
          }
          else {
            iVar9 = (*p_Var4)();
            cVar7 = (char)iVar9;
          }
          uVar8 = *(uint *)(puVar1 + lVar16 + 4);
          pEVar15 = this->ranges_reloc_mapper_;
          if (cVar7 != '\0') {
            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;
          }
          uVar13 = (ulong)uVar8;
          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;
LAB_00161889:
          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);
          if (uVar8 == 0) {
            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])
                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value
                               );
            uVar14 = uVar13;
            if ((uVar10 != 0) &&
               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {
LAB_00161a8e:
              uVar14 = uVar14 + uVar13;
              if (uVar8 != 0) goto LAB_001618f5;
            }
            goto LAB_00161a04;
          }
          uVar14 = CONCAT44(value._4_4_,(uint)value);
          if (this->reloc_type_ == 9) {
            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;
          }
          uVar12 = uVar14;
          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])
                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);
          if (uVar10 == 0) goto LAB_00161a1a;
          uVar14 = CONCAT44(value._4_4_,(uint)value);
          if (this->reloc_type_ == 9) goto LAB_00161a8e;
LAB_001618f5:
          if (uVar10 != uVar8) goto LAB_00161a1a;
          ppOVar2 = (object->output_sections_).
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
          if ((ulong)((long)(object->output_sections_).
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
          }
          uVar13 = local_60;
          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;
LAB_00161930:
          lStack_50 = uVar12 + local_60;
          local_48 = uVar14 + local_60;
          __position._M_current =
               (local_68->range_list_).
               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
               ._M_impl._M_finish;
          value._0_4_ = uVar10;
          if (__position._M_current ==
              (local_68->range_list_).
              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
              ._M_impl._M_end_of_storage) {
            std::
            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::
            _M_realloc_insert<gold::Dwarf_range_list::Range>
                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
                        *)local_68,__position,(Range *)&value);
            uVar13 = local_60;
          }
          else {
            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);
            (__position._M_current)->start = lStack_50;
            (__position._M_current)->end = local_48;
            (local_68->range_list_).
            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>
            ._M_impl._M_finish = __position._M_current + 1;
            uVar13 = local_60;
          }
        }
        else {
          if (p_Var4 == Relobj::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            cVar7 = (char)iVar9;
          }
          else {
            iVar9 = (*p_Var4)();
            cVar7 = (char)iVar9;
          }
          puVar1 = this->ranges_buffer_;
          uVar14 = *puVar11;
          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |
                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |
                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |
                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;
          if (cVar7 == '\0') {
            uVar12 = uVar14;
          }
          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;
          p_Var4 = pp_Var3[3];
          if (p_Var4 == Relobj::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            cVar7 = (char)iVar9;
          }
          else {
            iVar9 = (*p_Var4)();
            cVar7 = (char)iVar9;
          }
          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);
          pEVar15 = this->ranges_reloc_mapper_;
          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |
                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |
                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |
                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;
          if (cVar7 == '\0') {
            uVar13 = uVar14;
          }
          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;
LAB_00161a02:
          uVar10 = 0;
          uVar14 = uVar13;
LAB_00161a04:
          if (uVar12 == 0) {
            if (uVar14 == 0) {
              return local_68;
            }
LAB_00161a12:
            if (uVar10 == 0) goto LAB_00161930;
LAB_00161a1a:
            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;
            format = (char *)gettext(
                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"
                                    );
            gold_warning(format,pcVar5);
            uVar13 = local_60;
          }
          else {
            uVar13 = uVar14;
            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;
          }
        }
LAB_00161977:
        local_60 = uVar13;
        lVar16 = lVar16 + (ulong)(addr_size * 2);
        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);
      } while (puVar11 < this->ranges_buffer_end_);
    }
  }
  else {
    local_68 = (Dwarf_range_list *)0x0;
  }
  return local_68;
}



undefined8 *
FUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,
            undefined8 param_6,long param_7)

{
  long lVar1;
  undefined8 *puVar2;
  code *pcVar3;
  undefined8 uVar4;
  char cVar5;
  uint uVar6;
  uint uVar7;
  undefined8 uVar8;
  ulong *puVar9;
  ulong uVar10;
  ulong uVar11;
  ulong uVar12;
  long *plVar13;
  undefined8 *local_68;
  ulong local_60;
  uint local_58;
  undefined4 uStack_54;
  long lStack_50;
  long local_48;
  
  cVar5 = FUN_0015f3e0();
  if (cVar5 == '\0') {
    local_68 = (undefined8 *)0x0;
  }
  else {
    param_7 = param_7 - param_1[7];
    local_68 = (undefined8 *)FUN_00275550(0x18);
    lVar1 = param_1[2];
    *local_68 = 0;
    puVar9 = (ulong *)(lVar1 + param_7);
    local_68[1] = 0;
    local_68[2] = 0;
    if (puVar9 < (ulong *)param_1[3]) {
      local_60 = 0;
      do {
        lVar1 = **(long **)(*param_1 + 0x10);
        pcVar3 = *(code **)(lVar1 + 0x18);
        if (param_5 == 4) {
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(lVar1 + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          lVar1 = param_1[2];
          uVar6 = (uint)*puVar9;
          if (cVar5 != '\0') {
            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
          }
          uVar10 = (ulong)uVar6;
          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          uVar6 = *(uint *)(lVar1 + 4 + param_7);
          plVar13 = (long *)param_1[5];
          if (cVar5 != '\0') {
            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
          }
          uVar11 = (ulong)uVar6;
          if (plVar13 == (long *)0x0) goto LAB_00161a02;
LAB_00161889:
          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);
          if (uVar6 == 0) {
            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))
                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);
            uVar12 = uVar11;
            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {
LAB_00161a8e:
              uVar12 = uVar12 + uVar11;
              if (uVar6 != 0) goto LAB_001618f5;
            }
            goto LAB_00161a04;
          }
          uVar12 = CONCAT44(uStack_54,local_58);
          if ((int)param_1[6] == 9) {
            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;
          }
          uVar10 = uVar12;
          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))
                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);
          if (uVar7 == 0) goto LAB_00161a1a;
          uVar12 = CONCAT44(uStack_54,local_58);
          if ((int)param_1[6] == 9) goto LAB_00161a8e;
LAB_001618f5:
          if (uVar7 != uVar6) goto LAB_00161a1a;
          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {
                    /* WARNING: Subroutine does not return */
            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");
          }
          uVar11 = local_60;
          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;
LAB_00161930:
          lStack_50 = uVar10 + local_60;
          local_48 = uVar12 + local_60;
          puVar2 = (undefined8 *)local_68[1];
          local_58 = uVar7;
          if (puVar2 == (undefined8 *)local_68[2]) {
            FUN_001634e0(local_68,puVar2,&local_58);
            uVar11 = local_60;
          }
          else {
            *puVar2 = CONCAT44(uStack_54,uVar7);
            puVar2[1] = lStack_50;
            puVar2[2] = local_48;
            local_68[1] = puVar2 + 3;
            uVar11 = local_60;
          }
        }
        else {
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(lVar1 + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          lVar1 = param_1[2];
          uVar12 = *puVar9;
          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |
                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |
                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |
                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;
          if (cVar5 == '\0') {
            uVar10 = uVar12;
          }
          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          uVar12 = *(ulong *)(lVar1 + 8 + param_7);
          plVar13 = (long *)param_1[5];
          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |
                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |
                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |
                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;
          if (cVar5 == '\0') {
            uVar11 = uVar12;
          }
          if (plVar13 != (long *)0x0) goto LAB_00161889;
LAB_00161a02:
          uVar7 = 0;
          uVar12 = uVar11;
LAB_00161a04:
          if (uVar10 == 0) {
            if (uVar12 == 0) {
              return local_68;
            }
LAB_00161a12:
            if (uVar7 == 0) goto LAB_00161930;
LAB_00161a1a:
            uVar4 = *(undefined8 *)(param_2 + 8);
            uVar8 = gettext(
                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"
                           );
            FUN_00169150(uVar8,uVar4);
            uVar11 = local_60;
          }
          else {
            uVar11 = uVar12;
            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;
          }
        }
LAB_00161977:
        local_60 = uVar11;
        param_7 = param_7 + (ulong)(param_5 * 2);
        puVar9 = (ulong *)(param_1[2] + param_7);
      } while (puVar9 < (ulong *)param_1[3]);
    }
  }
  return local_68;
}


PUSH R15
MOV R15,RDI
PUSH R14
MOV R14D,R8D
MOV R8D,R9D
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x68
MOV qword ptr [RSP + 0x28],RSI
CALL 0x0015f3e0
TEST AL,AL
JZ 0x00161ad0
MOV EDI,0x18
MOV R12,qword ptr [RSP + 0xa0]
SUB R12,qword ptr [R15 + 0x38]
CALL 0x00275550
MOV RBX,qword ptr [R15 + 0x10]
MOV qword ptr [RSP + 0x30],RAX
MOV qword ptr [RAX],0x0
ADD RBX,R12
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
CMP RBX,qword ptr [R15 + 0x18]
JNC 0x00161ad9
LEA EAX,[R14 + R14*0x1]
LEA R13,[0x14c090]
MOV qword ptr [RSP + 0x38],0x0
MOV qword ptr [RSP + 0x10],RAX
LEA RAX,[RSP + 0x40]
MOV qword ptr [RSP + 0x8],RAX
JMP 0x0016198d
CMP RDX,R13
JNZ 0x00161ac0
CALL qword ptr [RAX + 0x1d0]
TEST AL,AL
MOV RAX,qword ptr [R15 + 0x10]
MOV RDX,qword ptr [RBX]
LEA RBP,[RAX + R12*0x1 + 0x8]
MOV RAX,qword ptr [R15]
MOV RBX,RDX
BSWAP RBX
CMOVZ RBX,RDX
MOV RDI,qword ptr [RAX + 0x10]
MOV RAX,qword ptr [RDI]
MOV RDX,qword ptr [RAX + 0x18]
CMP RDX,R13
JNZ 0x00161ab0
CALL qword ptr [RAX + 0x1d0]
MOV RDX,qword ptr [RBP]
MOV RDI,qword ptr [R15 + 0x28]
TEST AL,AL
MOV RBP,RDX
BSWAP RBP
CMOVZ RBP,RDX
TEST RDI,RDI
JZ 0x00161a02
MOV RAX,qword ptr [RDI]
MOV RDX,qword ptr [RSP + 0x8]
MOV RSI,R12
CALL qword ptr [RAX + 0x28]
MOV R8D,EAX
TEST EAX,EAX
JZ 0x00161a60
CMP dword ptr [R15 + 0x30],0x9
MOV R9,qword ptr [RSP + 0x40]
JNZ 0x001618b1
ADD R9,RBX
MOV RDI,qword ptr [R15 + 0x28]
MOV ESI,R14D
MOV qword ptr [RSP + 0x20],R9
MOV dword ptr [RSP + 0x18],R8D
ADD RSI,R12
MOV RDX,qword ptr [RSP + 0x8]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x28]
MOV R8D,dword ptr [RSP + 0x18]
MOV R9,qword ptr [RSP + 0x20]
TEST EAX,EAX
JZ 0x00161a1a
CMP dword ptr [R15 + 0x30],0x9
MOV RSI,qword ptr [RSP + 0x40]
MOV RBX,R9
JZ 0x00161b24
CMP EAX,R8D
JNZ 0x00161a1a
MOV RCX,qword ptr [RSP + 0x28]
MOV R8D,EAX
MOV RDI,qword ptr [RCX + 0x50]
MOV RCX,qword ptr [RCX + 0x58]
MOV RDX,RCX
MOV qword ptr [RSP + 0x18],RCX
SUB RDX,RDI
SAR RDX,0x3
CMP R8,RDX
JNC 0x00161b2c
CMP qword ptr [RDI + R8*0x8],0x0
JZ 0x00161977
MOV RBP,RSI
MOV dword ptr [RSP + 0x40],EAX
MOV RAX,qword ptr [RSP + 0x38]
MOV RCX,qword ptr [RSP + 0x30]
ADD RBX,RAX
ADD RBP,RAX
MOV qword ptr [RSP + 0x48],RBX
MOV RSI,qword ptr [RCX + 0x8]
MOV qword ptr [RSP + 0x50],RBP
CMP RSI,qword ptr [RCX + 0x10]
JZ 0x00161b10
MOVDQA XMM0,xmmword ptr [RSP + 0x40]
ADD RSI,0x18
MOVUPS xmmword ptr [RSI + -0x18],XMM0
MOV RAX,qword ptr [RSP + 0x50]
MOV qword ptr [RSI + -0x8],RAX
MOV qword ptr [RCX + 0x8],RSI
MOV RBX,qword ptr [R15 + 0x10]
ADD R12,qword ptr [RSP + 0x10]
ADD RBX,R12
CMP RBX,qword ptr [R15 + 0x18]
JNC 0x00161ad9
MOV RAX,qword ptr [R15]
MOV RDI,qword ptr [RAX + 0x10]
MOV RAX,qword ptr [RDI]
MOV RDX,qword ptr [RAX + 0x18]
CMP R14D,0x4
JNZ 0x00161828
CMP RDX,R13
JNZ 0x00161b00
CALL qword ptr [RAX + 0x1d0]
TEST AL,AL
MOV RAX,qword ptr [R15 + 0x10]
MOV EBX,dword ptr [RBX]
LEA RBP,[RAX + R12*0x1 + 0x4]
MOV RAX,qword ptr [R15]
MOV EDX,EBX
BSWAP EDX
CMOVNZ EBX,EDX
MOV RDI,qword ptr [RAX + 0x10]
MOV EBX,EBX
MOV RAX,qword ptr [RDI]
MOV RDX,qword ptr [RAX + 0x18]
CMP RDX,R13
JNZ 0x00161af0
CALL qword ptr [RAX + 0x1d0]
MOV EBP,dword ptr [RBP]
TEST AL,AL
MOV RDI,qword ptr [R15 + 0x28]
MOV EDX,EBP
BSWAP EDX
CMOVNZ EBP,EDX
MOV EBP,EBP
TEST RDI,RDI
JNZ 0x00161889
XOR EAX,EAX
TEST RBX,RBX
JNZ 0x00161a48
TEST RBP,RBP
JZ 0x00161ad9
TEST EAX,EAX
JZ 0x00161930
MOV RAX,qword ptr [RSP + 0x28]
LEA RDI,[0x30d7e8]
MOV RBX,qword ptr [RAX + 0x8]
CALL 0x0013e320
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x00169150
JMP 0x00161977
CMP RBX,-0x1
JNZ 0x00161a12
MOV qword ptr [RSP + 0x38],RBP
JMP 0x00161977
MOV RDI,qword ptr [R15 + 0x28]
MOV ESI,R14D
MOV RDX,qword ptr [RSP + 0x8]
MOV dword ptr [RSP + 0x18],EAX
ADD RSI,R12
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x28]
MOV R8D,dword ptr [RSP + 0x18]
TEST EAX,EAX
JZ 0x00161a04
CMP dword ptr [R15 + 0x30],0x9
MOV RSI,qword ptr [RSP + 0x40]
JNZ 0x00161aa0
ADD RSI,RBP
TEST R8D,R8D
JNZ 0x001618f5
NOP word ptr [RAX + RAX*0x1]
MOV RBP,RSI
JMP 0x00161a04
CALL RDX
JMP 0x0016186c
CALL RDX
JMP 0x00161837
MOV qword ptr [RSP + 0x30],0x0
MOV RAX,qword ptr [RSP + 0x30]
ADD RSP,0x68
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CALL RDX
JMP 0x001619e7
CALL RDX
JMP 0x001619b4
MOV RDX,qword ptr [RSP + 0x8]
MOV RDI,qword ptr [RSP + 0x30]
CALL 0x001634e0
JMP 0x00161977
MOV RBX,R9
JMP 0x00161a8e
LEA RDX,[0x30da80]
MOV ESI,0x50b
LEA RDI,[0x307016]
CALL 0x0016cdf0
(translation_unit "undefined8 *\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}\n\n" (function_definition "undefined8 *\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}" type_identifier (pointer_declarator "*\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" * (function_declarator "FUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" identifier (parameter_list "(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "long param_7" (sized_type_specifier "long" long) identifier) )))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "ulong *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (declaration "undefined8 *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "ulong local_60;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "long lStack_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (expression_statement "cVar5 = FUN_0015f3e0();" (assignment_expression "cVar5 = FUN_0015f3e0()" identifier = (call_expression "FUN_0015f3e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_68 = (undefined8 *)0x0;\n  }" { (expression_statement "local_68 = (undefined8 *)0x0;" (assignment_expression "local_68 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" else (compound_statement "{\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" { (expression_statement "param_7 = param_7 - param_1[7];" (assignment_expression "param_7 = param_7 - param_1[7]" identifier = (binary_expression "param_7 - param_1[7]" identifier - (subscript_expression "param_1[7]" identifier [ number_literal ]))) ;) (expression_statement "local_68 = (undefined8 *)FUN_00275550(0x18);" (assignment_expression "local_68 = (undefined8 *)FUN_00275550(0x18)" identifier = (cast_expression "(undefined8 *)FUN_00275550(0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00275550(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "*local_68 = 0;" (assignment_expression "*local_68 = 0" (pointer_expression "*local_68" * identifier) = number_literal) ;) (expression_statement "puVar9 = (ulong *)(lVar1 + param_7);" (assignment_expression "puVar9 = (ulong *)(lVar1 + param_7)" identifier = (cast_expression "(ulong *)(lVar1 + param_7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + param_7)" ( (binary_expression "lVar1 + param_7" identifier + identifier) )))) ;) (expression_statement "local_68[1] = 0;" (assignment_expression "local_68[1] = 0" (subscript_expression "local_68[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68[2] = 0;" (assignment_expression "local_68[2] = 0" (subscript_expression "local_68[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }" if (parenthesized_expression "(puVar9 < (ulong *)param_1[3])" ( (binary_expression "puVar9 < (ulong *)param_1[3]" identifier < (cast_expression "(ulong *)param_1[3]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) )) (compound_statement "{\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);" do (compound_statement "{\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      }" { (expression_statement "lVar1 = **(long **)(*param_1 + 0x10);" (assignment_expression "lVar1 = **(long **)(*param_1 + 0x10)" identifier = (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) )))))) ;) (expression_statement "pcVar3 = *(code **)(lVar1 + 0x18);" (assignment_expression "pcVar3 = *(code **)(lVar1 + 0x18)" identifier = (pointer_expression "*(code **)(lVar1 + 0x18)" * (cast_expression "(code **)(lVar1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x18)" ( (binary_expression "lVar1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" if (parenthesized_expression "(param_5 == 4)" ( (binary_expression "param_5 == 4" identifier == number_literal) )) (compound_statement "{\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }" { (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(lVar1 + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(lVar1 + 0x1d0))()" identifier = (call_expression "(**(code **)(lVar1 + 0x1d0))()" (parenthesized_expression "(**(code **)(lVar1 + 0x1d0))" ( (pointer_expression "**(code **)(lVar1 + 0x1d0)" * (pointer_expression "*(code **)(lVar1 + 0x1d0)" * (cast_expression "(code **)(lVar1 + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x1d0)" ( (binary_expression "lVar1 + 0x1d0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (uint)*puVar9;" (assignment_expression "uVar6 = (uint)*puVar9" identifier = (binary_expression "(uint)*puVar9" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" { (expression_statement "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" identifier = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 << 0x18" identifier << number_literal))) ;) })) (expression_statement "uVar10 = (ulong)uVar6;" (assignment_expression "uVar10 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);" (assignment_expression "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18)" identifier = (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x18)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x18)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x18" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" identifier = (call_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (parenthesized_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))" ( (pointer_expression "**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x1d0" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar6 = *(uint *)(lVar1 + 4 + param_7);" (assignment_expression "uVar6 = *(uint *)(lVar1 + 4 + param_7)" identifier = (pointer_expression "*(uint *)(lVar1 + 4 + param_7)" * (cast_expression "(uint *)(lVar1 + 4 + param_7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 4 + param_7)" ( (binary_expression "lVar1 + 4 + param_7" (binary_expression "lVar1 + 4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "plVar13 = (long *)param_1[5];" (assignment_expression "plVar13 = (long *)param_1[5]" identifier = (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (if_statement "if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" { (expression_statement "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" identifier = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 << 0x18" identifier << number_literal))) ;) })) (expression_statement "uVar11 = (ulong)uVar6;" (assignment_expression "uVar11 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (plVar13 == (long *)0x0) goto LAB_00161a02;" if (parenthesized_expression "(plVar13 == (long *)0x0)" ( (binary_expression "plVar13 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161a02;" goto statement_identifier ;)) (labeled_statement "LAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);" statement_identifier : (expression_statement "uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);" (assignment_expression "uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58)" identifier = (call_expression "(**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58)" (parenthesized_expression "(**(code **)(*plVar13 + 0x28))" ( (pointer_expression "**(code **)(*plVar13 + 0x28)" * (pointer_expression "*(code **)(*plVar13 + 0x28)" * (cast_expression "(code **)(*plVar13 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar13 + 0x28)" ( (binary_expression "*plVar13 + 0x28" (pointer_expression "*plVar13" * identifier) + number_literal) ))))) )) (argument_list "(plVar13,param_7,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) )))) ;)) (if_statement "if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" { (expression_statement "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);" (assignment_expression "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" identifier = (call_expression "(**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (parenthesized_expression "(**(code **)(*(long *)param_1[5] + 0x28))" ( (pointer_expression "**(code **)(*(long *)param_1[5] + 0x28)" * (pointer_expression "*(code **)(*(long *)param_1[5] + 0x28)" * (cast_expression "(code **)(*(long *)param_1[5] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1[5] + 0x28)" ( (binary_expression "*(long *)param_1[5] + 0x28" (pointer_expression "*(long *)param_1[5]" * (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" ( (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(ulong)param_5 + param_7" (cast_expression "(ulong)param_5" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (if_statement "if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }" if (parenthesized_expression "((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9))" ( (binary_expression "(uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)" (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)" ( (comma_expression "uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" identifier = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) , (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) == number_literal)) ))) )) (compound_statement "{\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }" { (labeled_statement "LAB_00161a8e:\n              uVar12 = uVar12 + uVar11;" statement_identifier : (expression_statement "uVar12 = uVar12 + uVar11;" (assignment_expression "uVar12 = uVar12 + uVar11" identifier = (binary_expression "uVar12 + uVar11" identifier + identifier)) ;)) (if_statement "if (uVar6 != 0) goto LAB_001618f5;" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001618f5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00161a04;" goto statement_identifier ;) })) (expression_statement "uVar12 = CONCAT44(uStack_54,local_58);" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" identifier = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) ;) (if_statement "if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }" if (parenthesized_expression "((int)param_1[6] == 9)" ( (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }" { (expression_statement "uVar12 = CONCAT44(uStack_54,local_58) + uVar10;" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58) + uVar10" identifier = (binary_expression "CONCAT44(uStack_54,local_58) + uVar10" (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier ))) + identifier)) ;) })) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (expression_statement "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);" (assignment_expression "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" identifier = (call_expression "(**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (parenthesized_expression "(**(code **)(*(long *)param_1[5] + 0x28))" ( (pointer_expression "**(code **)(*(long *)param_1[5] + 0x28)" * (pointer_expression "*(code **)(*(long *)param_1[5] + 0x28)" * (cast_expression "(code **)(*(long *)param_1[5] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1[5] + 0x28)" ( (binary_expression "*(long *)param_1[5] + 0x28" (pointer_expression "*(long *)param_1[5]" * (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" ( (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(ulong)param_5 + param_7" (cast_expression "(ulong)param_5" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (uVar7 == 0) goto LAB_00161a1a;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00161a1a;" goto statement_identifier ;)) (expression_statement "uVar12 = CONCAT44(uStack_54,local_58);" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" identifier = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) ;) (if_statement "if ((int)param_1[6] == 9) goto LAB_00161a8e;" if (parenthesized_expression "((int)param_1[6] == 9)" ( (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) == number_literal) )) (goto_statement "goto LAB_00161a8e;" goto statement_identifier ;)) (labeled_statement "LAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;" statement_identifier : (if_statement "if (uVar7 != uVar6) goto LAB_00161a1a;" if (parenthesized_expression "(uVar7 != uVar6)" ( (binary_expression "uVar7 != uVar6" identifier != identifier) )) (goto_statement "goto LAB_00161a1a;" goto statement_identifier ;))) (if_statement "if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7)" ( (binary_expression "(ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7" (call_expression "(ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3)" ( (binary_expression "*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3" (binary_expression "*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50)" (pointer_expression "*(long *)(param_2 + 0x58)" * (cast_expression "(long *)(param_2 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x58)" ( (binary_expression "param_2 + 0x58" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_2 + 0x50)" * (cast_expression "(long *)(param_2 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) ))))) >> number_literal) ))) <= (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment (expression_statement "FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) (if_statement "if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;" if (parenthesized_expression "(*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0)" ( (binary_expression "*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0" (pointer_expression "*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" * (cast_expression "(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" ( (binary_expression "*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8" (pointer_expression "*(long *)(param_2 + 0x50)" * (cast_expression "(long *)(param_2 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) + (binary_expression "(ulong)uVar7 * 8" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00161977;" goto statement_identifier ;)) (labeled_statement "LAB_00161930:\n          lStack_50 = uVar10 + local_60;" statement_identifier : (expression_statement "lStack_50 = uVar10 + local_60;" (assignment_expression "lStack_50 = uVar10 + local_60" identifier = (binary_expression "uVar10 + local_60" identifier + identifier)) ;)) (expression_statement "local_48 = uVar12 + local_60;" (assignment_expression "local_48 = uVar12 + local_60" identifier = (binary_expression "uVar12 + local_60" identifier + identifier)) ;) (expression_statement "puVar2 = (undefined8 *)local_68[1];" (assignment_expression "puVar2 = (undefined8 *)local_68[1]" identifier = (cast_expression "(undefined8 *)local_68[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_68[1]" identifier [ number_literal ]))) ;) (expression_statement "local_58 = uVar7;" (assignment_expression "local_58 = uVar7" identifier = identifier) ;) (if_statement "if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" if (parenthesized_expression "(puVar2 == (undefined8 *)local_68[2])" ( (binary_expression "puVar2 == (undefined8 *)local_68[2]" identifier == (cast_expression "(undefined8 *)local_68[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_68[2]" identifier [ number_literal ]))) )) (compound_statement "{\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }" { (expression_statement "FUN_001634e0(local_68,puVar2,&local_58);" (call_expression "FUN_001634e0(local_68,puVar2,&local_58)" identifier (argument_list "(local_68,puVar2,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) }) (else_clause "else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" else (compound_statement "{\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" { (expression_statement "*puVar2 = CONCAT44(uStack_54,uVar7);" (assignment_expression "*puVar2 = CONCAT44(uStack_54,uVar7)" (pointer_expression "*puVar2" * identifier) = (call_expression "CONCAT44(uStack_54,uVar7)" identifier (argument_list "(uStack_54,uVar7)" ( identifier , identifier )))) ;) (expression_statement "puVar2[1] = lStack_50;" (assignment_expression "puVar2[1] = lStack_50" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[2] = local_48;" (assignment_expression "puVar2[2] = local_48" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_68[1] = puVar2 + 3;" (assignment_expression "local_68[1] = puVar2 + 3" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) }))) }) (else_clause "else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" else (compound_statement "{\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" { (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(lVar1 + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(lVar1 + 0x1d0))()" identifier = (call_expression "(**(code **)(lVar1 + 0x1d0))()" (parenthesized_expression "(**(code **)(lVar1 + 0x1d0))" ( (pointer_expression "**(code **)(lVar1 + 0x1d0)" * (pointer_expression "*(code **)(lVar1 + 0x1d0)" * (cast_expression "(code **)(lVar1 + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x1d0)" ( (binary_expression "lVar1 + 0x1d0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *puVar9;" (assignment_expression "uVar12 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;" (assignment_expression "uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" identifier = (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28" (binary_expression "uVar12 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar12 & 0xff000000000000)" ( (binary_expression "uVar12 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar12 & 0xff0000000000)" ( (binary_expression "uVar12 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00000000) >> 8" (parenthesized_expression "(uVar12 & 0xff00000000)" ( (binary_expression "uVar12 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x38" identifier << number_literal))) ;) (if_statement "if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar10 = uVar12;\n          }" { (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) })) (expression_statement "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);" (assignment_expression "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18)" identifier = (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x18)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x18)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x18" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" identifier = (call_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (parenthesized_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))" ( (pointer_expression "**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x1d0" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar12 = *(ulong *)(lVar1 + 8 + param_7);" (assignment_expression "uVar12 = *(ulong *)(lVar1 + 8 + param_7)" identifier = (pointer_expression "*(ulong *)(lVar1 + 8 + param_7)" * (cast_expression "(ulong *)(lVar1 + 8 + param_7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 8 + param_7)" ( (binary_expression "lVar1 + 8 + param_7" (binary_expression "lVar1 + 8" identifier + number_literal) + identifier) ))))) ;) (expression_statement "plVar13 = (long *)param_1[5];" (assignment_expression "plVar13 = (long *)param_1[5]" identifier = (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;" (assignment_expression "uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" identifier = (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28" (binary_expression "uVar12 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar12 & 0xff000000000000)" ( (binary_expression "uVar12 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar12 & 0xff0000000000)" ( (binary_expression "uVar12 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00000000) >> 8" (parenthesized_expression "(uVar12 & 0xff00000000)" ( (binary_expression "uVar12 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x38" identifier << number_literal))) ;) (if_statement "if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar11 = uVar12;\n          }" { (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) })) (if_statement "if (plVar13 != (long *)0x0) goto LAB_00161889;" if (parenthesized_expression "(plVar13 != (long *)0x0)" ( (binary_expression "plVar13 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161889;" goto statement_identifier ;)) (labeled_statement "LAB_00161a02:\n          uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (labeled_statement "LAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" statement_identifier : (if_statement "if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }" { (if_statement "if (uVar12 == 0) {\n              return local_68;\n            }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              return local_68;\n            }" { (return_statement "return local_68;" return identifier ;) })) (labeled_statement "LAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;" statement_identifier : (if_statement "if (uVar7 == 0) goto LAB_00161930;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00161930;" goto statement_identifier ;))) (labeled_statement "LAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);" statement_identifier : (expression_statement "uVar4 = *(undefined8 *)(param_2 + 8);" (assignment_expression "uVar4 = *(undefined8 *)(param_2 + 8)" identifier = (pointer_expression "*(undefined8 *)(param_2 + 8)" * (cast_expression "(undefined8 *)(param_2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;)) (expression_statement "uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );" (assignment_expression "uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" identifier = (call_expression "gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" identifier (argument_list "(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" ( (string_literal ""%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"" " string_content ") )))) ;) (expression_statement "FUN_00169150(uVar8,uVar4);" (call_expression "FUN_00169150(uVar8,uVar4)" identifier (argument_list "(uVar8,uVar4)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) }) (else_clause "else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" else (compound_statement "{\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" { (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (if_statement "if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;" if (parenthesized_expression "(uVar10 != 0xffffffffffffffff)" ( (binary_expression "uVar10 != 0xffffffffffffffff" identifier != number_literal) )) (goto_statement "goto LAB_00161a12;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_00161977:\n        local_60 = uVar11;" statement_identifier : (expression_statement "local_60 = uVar11;" (assignment_expression "local_60 = uVar11" identifier = identifier) ;)) (expression_statement "param_7 = param_7 + (ulong)(param_5 * 2);" (assignment_expression "param_7 = param_7 + (ulong)(param_5 * 2)" identifier = (binary_expression "param_7 + (ulong)(param_5 * 2)" identifier + (call_expression "(ulong)(param_5 * 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_5 * 2)" ( (binary_expression "param_5 * 2" identifier * number_literal) ))))) ;) (expression_statement "puVar9 = (ulong *)(param_1[2] + param_7);" (assignment_expression "puVar9 = (ulong *)(param_1[2] + param_7)" identifier = (cast_expression "(ulong *)(param_1[2] + param_7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + param_7)" ( (binary_expression "param_1[2] + param_7" (subscript_expression "param_1[2]" identifier [ number_literal ]) + identifier) )))) ;) }) while (parenthesized_expression "(puVar9 < (ulong *)param_1[3])" ( (binary_expression "puVar9 < (ulong *)param_1[3]" identifier < (cast_expression "(ulong *)param_1[3]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) )) ;) })) }))) (return_statement "return local_68;" return identifier ;) })))
(translation_unit "/* DWARF original prototype: Dwarf_range_list * read_range_list(Dwarf_ranges_table * this, Relobj *\n   object, uchar * symtab, off_t symtab_size, uint addr_size, uint ranges_shndx, off_t offset) */\n\nDwarf_range_list * __thiscall\ngold::Dwarf_ranges_table::read_range_list\n          (Dwarf_ranges_table *this,Relobj *object,uchar *symtab,off_t symtab_size,uint addr_size,\n          uint ranges_shndx,off_t offset)\n\n{\n  uchar *puVar1;\n  pointer ppOVar2;\n  iterator __position;\n  _func_int_varargs **pp_Var3;\n  _func_int_varargs *p_Var4;\n  pointer pcVar5;\n  bool bVar6;\n  char cVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  char *format;\n  Valtype return_value_2;\n  ulong *puVar11;\n  ulong uVar12;\n  Valtype return_value_3;\n  ulong uVar13;\n  ulong uVar14;\n  Elf_reloc_mapper *pEVar15;\n  long lVar16;\n  Dwarf_range_list *local_68;\n  ulong local_60;\n  off_t value;\n  long lStack_50;\n  long local_48;\n  \n  bVar6 = read_ranges_table(this,object,symtab,symtab_size,ranges_shndx);\n  if (bVar6) {\n    lVar16 = offset - this->output_section_offset_;\n    local_68 = (Dwarf_range_list *)operator_new(0x18);\n    puVar1 = this->ranges_buffer_;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_start = (pointer)0x0;\n    puVar11 = (ulong *)(puVar1 + lVar16);\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if (puVar11 < this->ranges_buffer_end_) {\n      local_60 = 0;\n      do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);\n    }\n  }\n  else {\n    local_68 = (Dwarf_range_list *)0x0;\n  }\n  return local_68;\n}\n\n" comment (ERROR "Dwarf_range_list * __thiscall\ngold::Dwarf_ranges_table::read_range_list\n          (Dwarf_ranges_table *this,Relobj *object,uchar *symtab,off_t symtab_size,uint addr_size,\n          uint ranges_shndx,off_t offset)" (binary_expression "Dwarf_range_list * __thiscall\ngold::Dwarf_ranges_table::read_range_list\n          (Dwarf_ranges_table *this,Relobj *object,uchar *symtab,off_t symtab_size,uint addr_size,\n          uint ranges_shndx,off_t offset)" identifier * (call_expression "__thiscall\ngold::Dwarf_ranges_table::read_range_list\n          (Dwarf_ranges_table *this,Relobj *object,uchar *symtab,off_t symtab_size,uint addr_size,\n          uint ranges_shndx,off_t offset)" identifier (ERROR "gold::Dwarf_ranges_table::read_range_list" identifier : : identifier : : identifier) (argument_list "(Dwarf_ranges_table *this,Relobj *object,uchar *symtab,off_t symtab_size,uint addr_size,\n          uint ranges_shndx,off_t offset)" ( (binary_expression "Dwarf_ranges_table *this" identifier * identifier) , (binary_expression "Relobj *object" identifier * identifier) , (binary_expression "uchar *symtab" identifier * identifier) , (ERROR "off_t" identifier) identifier , (ERROR "uint" identifier) identifier , (ERROR "uint" identifier) identifier , (ERROR "off_t" identifier) identifier ))))) (compound_statement "{\n  uchar *puVar1;\n  pointer ppOVar2;\n  iterator __position;\n  _func_int_varargs **pp_Var3;\n  _func_int_varargs *p_Var4;\n  pointer pcVar5;\n  bool bVar6;\n  char cVar7;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  char *format;\n  Valtype return_value_2;\n  ulong *puVar11;\n  ulong uVar12;\n  Valtype return_value_3;\n  ulong uVar13;\n  ulong uVar14;\n  Elf_reloc_mapper *pEVar15;\n  long lVar16;\n  Dwarf_range_list *local_68;\n  ulong local_60;\n  off_t value;\n  long lStack_50;\n  long local_48;\n  \n  bVar6 = read_ranges_table(this,object,symtab,symtab_size,ranges_shndx);\n  if (bVar6) {\n    lVar16 = offset - this->output_section_offset_;\n    local_68 = (Dwarf_range_list *)operator_new(0x18);\n    puVar1 = this->ranges_buffer_;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_start = (pointer)0x0;\n    puVar11 = (ulong *)(puVar1 + lVar16);\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if (puVar11 < this->ranges_buffer_end_) {\n      local_60 = 0;\n      do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);\n    }\n  }\n  else {\n    local_68 = (Dwarf_range_list *)0x0;\n  }\n  return local_68;\n}" { (declaration "uchar *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "pointer ppOVar2;" type_identifier identifier ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var3;" type_identifier (pointer_declarator "**pp_Var3" * (pointer_declarator "*pp_Var3" * identifier)) ;) (declaration "_func_int_varargs *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "pointer pcVar5;" type_identifier identifier ;) (declaration "bool bVar6;" primitive_type identifier ;) (declaration "char cVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "Valtype return_value_2;" type_identifier identifier ;) (declaration "ulong *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "Valtype return_value_3;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "Elf_reloc_mapper *pEVar15;" type_identifier (pointer_declarator "*pEVar15" * identifier) ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "Dwarf_range_list *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "ulong local_60;" type_identifier identifier ;) (declaration "off_t value;" type_identifier identifier ;) (declaration "long lStack_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (expression_statement "bVar6 = read_ranges_table(this,object,symtab,symtab_size,ranges_shndx);" (assignment_expression "bVar6 = read_ranges_table(this,object,symtab,symtab_size,ranges_shndx)" identifier = (call_expression "read_ranges_table(this,object,symtab,symtab_size,ranges_shndx)" identifier (argument_list "(this,object,symtab,symtab_size,ranges_shndx)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (bVar6) {\n    lVar16 = offset - this->output_section_offset_;\n    local_68 = (Dwarf_range_list *)operator_new(0x18);\n    puVar1 = this->ranges_buffer_;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_start = (pointer)0x0;\n    puVar11 = (ulong *)(puVar1 + lVar16);\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if (puVar11 < this->ranges_buffer_end_) {\n      local_60 = 0;\n      do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);\n    }\n  }\n  else {\n    local_68 = (Dwarf_range_list *)0x0;\n  }" if (parenthesized_expression "(bVar6)" ( identifier )) (compound_statement "{\n    lVar16 = offset - this->output_section_offset_;\n    local_68 = (Dwarf_range_list *)operator_new(0x18);\n    puVar1 = this->ranges_buffer_;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_start = (pointer)0x0;\n    puVar11 = (ulong *)(puVar1 + lVar16);\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_finish = (pointer)0x0;\n    (local_68->range_list_).\n    super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;\n    if (puVar11 < this->ranges_buffer_end_) {\n      local_60 = 0;\n      do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);\n    }\n  }" { (expression_statement "lVar16 = offset - this->output_section_offset_;" (assignment_expression "lVar16 = offset - this->output_section_offset_" identifier = (binary_expression "offset - this->output_section_offset_" identifier - (field_expression "this->output_section_offset_" identifier -> field_identifier))) ;) (expression_statement "local_68 = (Dwarf_range_list *)operator_new(0x18);" (assignment_expression "local_68 = (Dwarf_range_list *)operator_new(0x18)" identifier = (cast_expression "(Dwarf_range_list *)operator_new(0x18)" ( (type_descriptor "Dwarf_range_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "puVar1 = this->ranges_buffer_;" (assignment_expression "puVar1 = this->ranges_buffer_" identifier = (field_expression "this->ranges_buffer_" identifier -> field_identifier)) ;) (ERROR "(local_68->range_list_).\n    super__Vector_base<gold::" (binary_expression "(local_68->range_list_).\n    super__Vector_base<gold" (field_expression "(local_68->range_list_).\n    super__Vector_base" (parenthesized_expression "(local_68->range_list_)" ( (field_expression "local_68->range_list_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier (ERROR "::Range,_std::allocator<gold:" : : (comma_expression "Range,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>_>\n    ._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Range>_>\n    ._M_impl._M_start = (pointer)0x0;" (assignment_expression "Range>_>\n    ._M_impl._M_start = (pointer)0x0" (field_expression "Range>_>\n    ._M_impl._M_start" (field_expression "Range>_>\n    ._M_impl" (binary_expression "Range>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (expression_statement "puVar11 = (ulong *)(puVar1 + lVar16);" (assignment_expression "puVar11 = (ulong *)(puVar1 + lVar16)" identifier = (cast_expression "(ulong *)(puVar1 + lVar16)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + lVar16)" ( (binary_expression "puVar1 + lVar16" identifier + identifier) )))) ;) (ERROR "(local_68->range_list_).\n    super__Vector_base<gold::" (binary_expression "(local_68->range_list_).\n    super__Vector_base<gold" (field_expression "(local_68->range_list_).\n    super__Vector_base" (parenthesized_expression "(local_68->range_list_)" ( (field_expression "local_68->range_list_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier (ERROR "::Range,_std::allocator<gold:" : : (comma_expression "Range,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>_>\n    ._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Range>_>\n    ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "Range>_>\n    ._M_impl._M_finish = (pointer)0x0" (field_expression "Range>_>\n    ._M_impl._M_finish" (field_expression "Range>_>\n    ._M_impl" (binary_expression "Range>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (ERROR "(local_68->range_list_).\n    super__Vector_base<gold::" (binary_expression "(local_68->range_list_).\n    super__Vector_base<gold" (field_expression "(local_68->range_list_).\n    super__Vector_base" (parenthesized_expression "(local_68->range_list_)" ( (field_expression "local_68->range_list_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier (ERROR "::Range,_std::allocator<gold:" : : (comma_expression "Range,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "Range>_>\n    ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "Range>_>\n    ._M_impl._M_end_of_storage" (field_expression "Range>_>\n    ._M_impl" (binary_expression "Range>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;))) (if_statement "if (puVar11 < this->ranges_buffer_end_) {\n      local_60 = 0;\n      do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);\n    }" if (parenthesized_expression "(puVar11 < this->ranges_buffer_end_)" ( (binary_expression "puVar11 < this->ranges_buffer_end_" identifier < (field_expression "this->ranges_buffer_end_" identifier -> field_identifier)) )) (compound_statement "{\n      local_60 = 0;\n      do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);\n    }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      } while (puVar11 < this->ranges_buffer_end_);" do (compound_statement "{\n        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n        p_Var4 = pp_Var3[3];\n        if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar13;\n        lVar16 = lVar16 + (ulong)(addr_size * 2);\n        puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);\n      }" { (expression_statement "pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;" (assignment_expression "pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object" identifier = (field_expression "(this->dwinfo_->object_->super_Object)._vptr_Object" (parenthesized_expression "(this->dwinfo_->object_->super_Object)" ( (field_expression "this->dwinfo_->object_->super_Object" (field_expression "this->dwinfo_->object_" (field_expression "this->dwinfo_" identifier -> field_identifier) -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "p_Var4 = pp_Var3[3];" (assignment_expression "p_Var4 = pp_Var3[3]" identifier = (subscript_expression "pp_Var3[3]" identifier [ number_literal ])) ;) (if_statement "if (addr_size == 4) {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }\n        else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" if (parenthesized_expression "(addr_size == 4)" ( (binary_expression "addr_size == 4" identifier == number_literal) )) (compound_statement "{\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar8 = (uint)*puVar11;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar12 = (ulong)uVar8;\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar8 = *(uint *)(puVar1 + lVar16 + 4);\n          pEVar15 = this->ranges_reloc_mapper_;\n          if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }\n          uVar13 = (ulong)uVar8;\n          if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);\n          if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }\n          uVar12 = uVar14;\n          uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);\n          if (uVar10 == 0) goto LAB_00161a1a;\n          uVar14 = CONCAT44(value._4_4_,(uint)value);\n          if (this->reloc_type_ == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;\n          ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar13 = local_60;\n          if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar12 + local_60;\n          local_48 = uVar14 + local_60;\n          __position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;\n          value._0_4_ = uVar10;\n          if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }\n        }" { (if_statement "if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" if (parenthesized_expression "(p_Var4 == Relobj::is_big_endian)" ( (binary_expression "p_Var4 == Relobj" identifier == identifier) (ERROR "::is_big_endian" : : identifier) )) (compound_statement "{\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*pp_Var3[0x3a])();" (assignment_expression "iVar9 = (*pp_Var3[0x3a])()" identifier = (call_expression "(*pp_Var3[0x3a])()" (parenthesized_expression "(*pp_Var3[0x3a])" ( (pointer_expression "*pp_Var3[0x3a]" * (subscript_expression "pp_Var3[0x3a]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" else (compound_statement "{\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*p_Var4)();" (assignment_expression "iVar9 = (*p_Var4)()" identifier = (call_expression "(*p_Var4)()" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) (expression_statement "puVar1 = this->ranges_buffer_;" (assignment_expression "puVar1 = this->ranges_buffer_" identifier = (field_expression "this->ranges_buffer_" identifier -> field_identifier)) ;) (expression_statement "uVar8 = (uint)*puVar11;" (assignment_expression "uVar8 = (uint)*puVar11" identifier = (binary_expression "(uint)*puVar11" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }" { (expression_statement "uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" identifier = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal))) ;) })) (expression_statement "uVar12 = (ulong)uVar8;" (assignment_expression "uVar12 = (ulong)uVar8" identifier = (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;" (assignment_expression "pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object" identifier = (field_expression "(this->dwinfo_->object_->super_Object)._vptr_Object" (parenthesized_expression "(this->dwinfo_->object_->super_Object)" ( (field_expression "this->dwinfo_->object_->super_Object" (field_expression "this->dwinfo_->object_" (field_expression "this->dwinfo_" identifier -> field_identifier) -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "p_Var4 = pp_Var3[3];" (assignment_expression "p_Var4 = pp_Var3[3]" identifier = (subscript_expression "pp_Var3[3]" identifier [ number_literal ])) ;) (if_statement "if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" if (parenthesized_expression "(p_Var4 == Relobj::is_big_endian)" ( (binary_expression "p_Var4 == Relobj" identifier == identifier) (ERROR "::is_big_endian" : : identifier) )) (compound_statement "{\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*pp_Var3[0x3a])();" (assignment_expression "iVar9 = (*pp_Var3[0x3a])()" identifier = (call_expression "(*pp_Var3[0x3a])()" (parenthesized_expression "(*pp_Var3[0x3a])" ( (pointer_expression "*pp_Var3[0x3a]" * (subscript_expression "pp_Var3[0x3a]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" else (compound_statement "{\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*p_Var4)();" (assignment_expression "iVar9 = (*p_Var4)()" identifier = (call_expression "(*p_Var4)()" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) (expression_statement "uVar8 = *(uint *)(puVar1 + lVar16 + 4);" (assignment_expression "uVar8 = *(uint *)(puVar1 + lVar16 + 4)" identifier = (pointer_expression "*(uint *)(puVar1 + lVar16 + 4)" * (cast_expression "(uint *)(puVar1 + lVar16 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + lVar16 + 4)" ( (binary_expression "puVar1 + lVar16 + 4" (binary_expression "puVar1 + lVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "pEVar15 = this->ranges_reloc_mapper_;" (assignment_expression "pEVar15 = this->ranges_reloc_mapper_" identifier = (field_expression "this->ranges_reloc_mapper_" identifier -> field_identifier)) ;) (if_statement "if (cVar7 != '\0') {\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }" if (parenthesized_expression "(cVar7 != '\0')" ( (binary_expression "cVar7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;\n          }" { (expression_statement "uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18;" (assignment_expression "uVar8 = uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" identifier = (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 | uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal))) ;) })) (expression_statement "uVar13 = (ulong)uVar8;" (assignment_expression "uVar13 = (ulong)uVar8" identifier = (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (pEVar15 == (Elf_reloc_mapper *)0x0) goto LAB_00161a02;" if (parenthesized_expression "(pEVar15 == (Elf_reloc_mapper *)0x0)" ( (binary_expression "pEVar15 == (Elf_reloc_mapper *)0x0" identifier == (cast_expression "(Elf_reloc_mapper *)0x0" ( (type_descriptor "Elf_reloc_mapper *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161a02;" goto statement_identifier ;)) (labeled_statement "LAB_00161889:\n          uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);" statement_identifier : (expression_statement "uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value);" (assignment_expression "uVar8 = (*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value)" identifier = (call_expression "(*pEVar15->_vptr_Elf_reloc_mapper[5])(pEVar15,lVar16,(Range *)&value)" (parenthesized_expression "(*pEVar15->_vptr_Elf_reloc_mapper[5])" ( (pointer_expression "*pEVar15->_vptr_Elf_reloc_mapper[5]" * (subscript_expression "pEVar15->_vptr_Elf_reloc_mapper[5]" (field_expression "pEVar15->_vptr_Elf_reloc_mapper" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pEVar15,lVar16,(Range *)&value)" ( identifier , identifier , (cast_expression "(Range *)&value" ( (type_descriptor "Range *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&value" & identifier)) )))) ;)) (if_statement "if (uVar8 == 0) {\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );\n            uVar14 = uVar13;\n            if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" { (expression_statement "uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               );" (assignment_expression "uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               )" identifier = (call_expression "(*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                               (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               )" (parenthesized_expression "(*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])" ( (pointer_expression "*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5]" * (subscript_expression "this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5]" (field_expression "this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper" (field_expression "this->ranges_reloc_mapper_" identifier -> field_identifier) -> field_identifier) [ number_literal ])) )) (argument_list "(this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value\n                               )" ( (field_expression "this->ranges_reloc_mapper_" identifier -> field_identifier) , (binary_expression "(ulong)addr_size + lVar16" (cast_expression "(ulong)addr_size" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) , (cast_expression "(Range *)&value" ( (type_descriptor "Range *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&value" & identifier)) )))) ;) (expression_statement "uVar14 = uVar13;" (assignment_expression "uVar14 = uVar13" identifier = identifier) ;) (if_statement "if ((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)) {\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }" if (parenthesized_expression "((uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9))" ( (binary_expression "(uVar10 != 0) &&\n               (uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9)" ( (comma_expression "uVar14 = CONCAT44(value._4_4_,(uint)value), this->reloc_type_ == 9" (assignment_expression "uVar14 = CONCAT44(value._4_4_,(uint)value)" identifier = (call_expression "CONCAT44(value._4_4_,(uint)value)" identifier (argument_list "(value._4_4_,(uint)value)" ( (field_expression "value._4_4_" identifier . field_identifier) , (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) )))) , (binary_expression "this->reloc_type_ == 9" (field_expression "this->reloc_type_" identifier -> field_identifier) == number_literal)) ))) )) (compound_statement "{\nLAB_00161a8e:\n              uVar14 = uVar14 + uVar13;\n              if (uVar8 != 0) goto LAB_001618f5;\n            }" { (labeled_statement "LAB_00161a8e:\n              uVar14 = uVar14 + uVar13;" statement_identifier : (expression_statement "uVar14 = uVar14 + uVar13;" (assignment_expression "uVar14 = uVar14 + uVar13" identifier = (binary_expression "uVar14 + uVar13" identifier + identifier)) ;)) (if_statement "if (uVar8 != 0) goto LAB_001618f5;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001618f5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00161a04;" goto statement_identifier ;) })) (expression_statement "uVar14 = CONCAT44(value._4_4_,(uint)value);" (assignment_expression "uVar14 = CONCAT44(value._4_4_,(uint)value)" identifier = (call_expression "CONCAT44(value._4_4_,(uint)value)" identifier (argument_list "(value._4_4_,(uint)value)" ( (field_expression "value._4_4_" identifier . field_identifier) , (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (if_statement "if (this->reloc_type_ == 9) {\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }" if (parenthesized_expression "(this->reloc_type_ == 9)" ( (binary_expression "this->reloc_type_ == 9" (field_expression "this->reloc_type_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n            uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;\n          }" { (expression_statement "uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12;" (assignment_expression "uVar14 = CONCAT44(value._4_4_,(uint)value) + uVar12" identifier = (binary_expression "CONCAT44(value._4_4_,(uint)value) + uVar12" (call_expression "CONCAT44(value._4_4_,(uint)value)" identifier (argument_list "(value._4_4_,(uint)value)" ( (field_expression "value._4_4_" identifier . field_identifier) , (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) ))) + identifier)) ;) })) (expression_statement "uVar12 = uVar14;" (assignment_expression "uVar12 = uVar14" identifier = identifier) ;) (expression_statement "uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value);" (assignment_expression "uVar10 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value)" identifier = (call_expression "(*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])\n                             (this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value)" (parenthesized_expression "(*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])" ( (pointer_expression "*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5]" * (subscript_expression "this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5]" (field_expression "this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper" (field_expression "this->ranges_reloc_mapper_" identifier -> field_identifier) -> field_identifier) [ number_literal ])) )) (argument_list "(this->ranges_reloc_mapper_,(ulong)addr_size + lVar16,(Range *)&value)" ( (field_expression "this->ranges_reloc_mapper_" identifier -> field_identifier) , (binary_expression "(ulong)addr_size + lVar16" (cast_expression "(ulong)addr_size" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) , (cast_expression "(Range *)&value" ( (type_descriptor "Range *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&value" & identifier)) )))) ;) (if_statement "if (uVar10 == 0) goto LAB_00161a1a;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00161a1a;" goto statement_identifier ;)) (expression_statement "uVar14 = CONCAT44(value._4_4_,(uint)value);" (assignment_expression "uVar14 = CONCAT44(value._4_4_,(uint)value)" identifier = (call_expression "CONCAT44(value._4_4_,(uint)value)" identifier (argument_list "(value._4_4_,(uint)value)" ( (field_expression "value._4_4_" identifier . field_identifier) , (cast_expression "(uint)value" ( (type_descriptor "uint" type_identifier) ) identifier) )))) ;) (if_statement "if (this->reloc_type_ == 9) goto LAB_00161a8e;" if (parenthesized_expression "(this->reloc_type_ == 9)" ( (binary_expression "this->reloc_type_ == 9" (field_expression "this->reloc_type_" identifier -> field_identifier) == number_literal) )) (goto_statement "goto LAB_00161a8e;" goto statement_identifier ;)) (labeled_statement "LAB_001618f5:\n          if (uVar10 != uVar8) goto LAB_00161a1a;" statement_identifier : (if_statement "if (uVar10 != uVar8) goto LAB_00161a1a;" if (parenthesized_expression "(uVar10 != uVar8)" ( (binary_expression "uVar10 != uVar8" identifier != identifier) )) (goto_statement "goto LAB_00161a1a;" goto statement_identifier ;))) (expression_statement "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;" (field_expression "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar2 = (object->output_sections_).\n                    super__Vector_base<gold" identifier = (binary_expression "(object->output_sections_).\n                    super__Vector_base<gold" (field_expression "(object->output_sections_).\n                    super__Vector_base" (parenthesized_expression "(object->output_sections_)" ( (field_expression "object->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10)" ( (binary_expression "(ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (ulong)uVar10" (call_expression "(ulong)((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3)" ( (binary_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2 >> 3" (binary_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar2" (field_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish" (field_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl" (binary_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(object->output_sections_).\n                            super__Vector_base<gold" (cast_expression "(long)(object->output_sections_).\n                            super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(object->output_sections_).\n                            super__Vector_base" (parenthesized_expression "(object->output_sections_)" ( (field_expression "object->output_sections_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" (call_expression "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" identifier = identifier) ;) (if_statement "if (ppOVar2[uVar10] == (Output_section *)0x0) goto LAB_00161977;" if (parenthesized_expression "(ppOVar2[uVar10] == (Output_section *)0x0)" ( (binary_expression "ppOVar2[uVar10] == (Output_section *)0x0" (subscript_expression "ppOVar2[uVar10]" identifier [ identifier ]) == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161977;" goto statement_identifier ;)) (labeled_statement "LAB_00161930:\n          lStack_50 = uVar12 + local_60;" statement_identifier : (expression_statement "lStack_50 = uVar12 + local_60;" (assignment_expression "lStack_50 = uVar12 + local_60" identifier = (binary_expression "uVar12 + local_60" identifier + identifier)) ;)) (expression_statement "local_48 = uVar14 + local_60;" (assignment_expression "local_48 = uVar14 + local_60" identifier = (binary_expression "uVar14 + local_60" identifier + identifier)) ;) (ERROR "__position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::" (comma_expression "__position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold::Dwarf_range_list::Range,_std" (assignment_expression "__position._M_current =\n               (local_68->range_list_).\n               super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) = (binary_expression "(local_68->range_list_).\n               super__Vector_base<gold" (field_expression "(local_68->range_list_).\n               super__Vector_base" (parenthesized_expression "(local_68->range_list_)" ( (field_expression "local_68->range_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Dwarf_range_list::Range" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (labeled_statement "Dwarf_range_list::Range>_>\n               ._M_impl._M_finish;" statement_identifier : (ERROR ":" :) (expression_statement "Range>_>\n               ._M_impl._M_finish;" (field_expression "Range>_>\n               ._M_impl._M_finish" (field_expression "Range>_>\n               ._M_impl" (binary_expression "Range>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (expression_statement "value._0_4_ = uVar10;" (assignment_expression "value._0_4_ = uVar10" (field_expression "value._0_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage) {\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }\n          else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }" if (parenthesized_expression "(__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n              ._M_impl._M_end_of_storage)" ( (ERROR "__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::" (comma_expression "__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold::Dwarf_range_list::Range,_std" (binary_expression "__position._M_current ==\n              (local_68->range_list_).\n              super__Vector_base<gold" (field_expression "__position._M_current" identifier . field_identifier) == (binary_expression "(local_68->range_list_).\n              super__Vector_base<gold" (field_expression "(local_68->range_list_).\n              super__Vector_base" (parenthesized_expression "(local_68->range_list_)" ( (field_expression "local_68->range_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Dwarf_range_list::Range" : : identifier : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : identifier : :) (field_expression "Range>_>\n              ._M_impl._M_end_of_storage" (field_expression "Range>_>\n              ._M_impl" (binary_expression "Range>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n            std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);\n            uVar13 = local_60;\n          }" { (labeled_statement "std::\n            vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);" statement_identifier (ERROR "::\n            vector<gold:" : : (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);" statement_identifier (ERROR "::Range,_std::allocator<gold:" : : (comma_expression "Range,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>_>::\n            _M_realloc_insert<gold::Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);" statement_identifier (ERROR "::Range>_>::\n            _M_realloc_insert<gold:" : : (binary_expression "Range>_" identifier > identifier) > : : (binary_expression "_M_realloc_insert<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>\n                      ((vector<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);" statement_identifier (ERROR "::Range>\n                      ((vector<gold:" : : identifier > ( ( (binary_expression "vector<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);" statement_identifier (ERROR "::Range,_std::allocator<gold:" : : (comma_expression "Range,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>_>\n                        *)local_68,__position,(Range *)&value);" statement_identifier : (ERROR ":" :) (expression_statement "Range>_>\n                        *)local_68,__position,(Range *)&value);" (comma_expression "Range>_>\n                        *)local_68,__position,(Range *)&value" (binary_expression "Range>_>\n                        *)local_68" (binary_expression "Range>_" identifier > identifier) > (pointer_expression "*)local_68" * (ERROR ")" )) identifier)) , (comma_expression "__position,(Range *)&value" identifier , (cast_expression "(Range *)&value" ( (type_descriptor "Range *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&value" & identifier)))) (ERROR ")" )) ;))))))) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" identifier = identifier) ;) }) (else_clause "else {\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }" else (compound_statement "{\n            *(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);\n            (__position._M_current)->start = lStack_50;\n            (__position._M_current)->end = local_48;\n            (local_68->range_list_).\n            super__Vector_base<gold::Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;\n            uVar13 = local_60;\n          }" { (expression_statement "*(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10);" (assignment_expression "*(ulong *)__position._M_current = CONCAT44(value._4_4_,uVar10)" (pointer_expression "*(ulong *)__position._M_current" * (cast_expression "(ulong *)__position._M_current" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "__position._M_current" identifier . field_identifier))) = (call_expression "CONCAT44(value._4_4_,uVar10)" identifier (argument_list "(value._4_4_,uVar10)" ( (field_expression "value._4_4_" identifier . field_identifier) , identifier )))) ;) (expression_statement "(__position._M_current)->start = lStack_50;" (assignment_expression "(__position._M_current)->start = lStack_50" (field_expression "(__position._M_current)->start" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(__position._M_current)->end = local_48;" (assignment_expression "(__position._M_current)->end = local_48" (field_expression "(__position._M_current)->end" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (ERROR "(local_68->range_list_).\n            super__Vector_base<gold::" (binary_expression "(local_68->range_list_).\n            super__Vector_base<gold" (field_expression "(local_68->range_list_).\n            super__Vector_base" (parenthesized_expression "(local_68->range_list_)" ( (field_expression "local_68->range_list_" identifier -> field_identifier) )) . field_identifier) < identifier) : :) (labeled_statement "Dwarf_range_list::Range,_std::allocator<gold::Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;" statement_identifier (ERROR "::Range,_std::allocator<gold:" : : (comma_expression "Range,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Dwarf_range_list::Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;" statement_identifier : (ERROR ":" :) (expression_statement "Range>_>\n            ._M_impl._M_finish = __position._M_current + 1;" (assignment_expression "Range>_>\n            ._M_impl._M_finish = __position._M_current + 1" (field_expression "Range>_>\n            ._M_impl._M_finish" (field_expression "Range>_>\n            ._M_impl" (binary_expression "Range>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "__position._M_current + 1" (field_expression "__position._M_current" identifier . field_identifier) + number_literal)) ;))) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" identifier = identifier) ;) }))) }) (else_clause "else {\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" else (compound_statement "{\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          puVar1 = this->ranges_buffer_;\n          uVar14 = *puVar11;\n          uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }\n          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;\n          p_Var4 = pp_Var3[3];\n          if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }\n          uVar14 = *(ulong *)(puVar1 + lVar16 + 8);\n          pEVar15 = this->ranges_reloc_mapper_;\n          uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n          if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }\n          if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar10 = 0;\n          uVar14 = uVar13;\nLAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" { (if_statement "if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" if (parenthesized_expression "(p_Var4 == Relobj::is_big_endian)" ( (binary_expression "p_Var4 == Relobj" identifier == identifier) (ERROR "::is_big_endian" : : identifier) )) (compound_statement "{\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*pp_Var3[0x3a])();" (assignment_expression "iVar9 = (*pp_Var3[0x3a])()" identifier = (call_expression "(*pp_Var3[0x3a])()" (parenthesized_expression "(*pp_Var3[0x3a])" ( (pointer_expression "*pp_Var3[0x3a]" * (subscript_expression "pp_Var3[0x3a]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" else (compound_statement "{\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*p_Var4)();" (assignment_expression "iVar9 = (*p_Var4)()" identifier = (call_expression "(*p_Var4)()" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) (expression_statement "puVar1 = this->ranges_buffer_;" (assignment_expression "puVar1 = this->ranges_buffer_" identifier = (field_expression "this->ranges_buffer_" identifier -> field_identifier)) ;) (expression_statement "uVar14 = *puVar11;" (assignment_expression "uVar14 = *puVar11" identifier = (pointer_expression "*puVar11" * identifier)) ;) (expression_statement "uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;" (assignment_expression "uVar12 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" identifier = (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28" (binary_expression "uVar14 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar14 & 0xff000000000000)" ( (binary_expression "uVar14 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar14 & 0xff0000000000)" ( (binary_expression "uVar14 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00000000) >> 8" (parenthesized_expression "(uVar14 & 0xff00000000)" ( (binary_expression "uVar14 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff000000) << 8" (parenthesized_expression "(uVar14 & 0xff000000)" ( (binary_expression "uVar14 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff0000) << 0x18" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff00) << 0x28" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x38" identifier << number_literal))) ;) (if_statement "if (cVar7 == '\0') {\n            uVar12 = uVar14;\n          }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar12 = uVar14;\n          }" { (expression_statement "uVar12 = uVar14;" (assignment_expression "uVar12 = uVar14" identifier = identifier) ;) })) (expression_statement "pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;" (assignment_expression "pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object" identifier = (field_expression "(this->dwinfo_->object_->super_Object)._vptr_Object" (parenthesized_expression "(this->dwinfo_->object_->super_Object)" ( (field_expression "this->dwinfo_->object_->super_Object" (field_expression "this->dwinfo_->object_" (field_expression "this->dwinfo_" identifier -> field_identifier) -> field_identifier) -> field_identifier) )) . field_identifier)) ;) (expression_statement "p_Var4 = pp_Var3[3];" (assignment_expression "p_Var4 = pp_Var3[3]" identifier = (subscript_expression "pp_Var3[3]" identifier [ number_literal ])) ;) (if_statement "if (p_Var4 == Relobj::is_big_endian) {\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }\n          else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" if (parenthesized_expression "(p_Var4 == Relobj::is_big_endian)" ( (binary_expression "p_Var4 == Relobj" identifier == identifier) (ERROR "::is_big_endian" : : identifier) )) (compound_statement "{\n            iVar9 = (*pp_Var3[0x3a])();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*pp_Var3[0x3a])();" (assignment_expression "iVar9 = (*pp_Var3[0x3a])()" identifier = (call_expression "(*pp_Var3[0x3a])()" (parenthesized_expression "(*pp_Var3[0x3a])" ( (pointer_expression "*pp_Var3[0x3a]" * (subscript_expression "pp_Var3[0x3a]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }) (else_clause "else {\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" else (compound_statement "{\n            iVar9 = (*p_Var4)();\n            cVar7 = (char)iVar9;\n          }" { (expression_statement "iVar9 = (*p_Var4)();" (assignment_expression "iVar9 = (*p_Var4)()" identifier = (call_expression "(*p_Var4)()" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "cVar7 = (char)iVar9;" (assignment_expression "cVar7 = (char)iVar9" identifier = (cast_expression "(char)iVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) (expression_statement "uVar14 = *(ulong *)(puVar1 + lVar16 + 8);" (assignment_expression "uVar14 = *(ulong *)(puVar1 + lVar16 + 8)" identifier = (pointer_expression "*(ulong *)(puVar1 + lVar16 + 8)" * (cast_expression "(ulong *)(puVar1 + lVar16 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar1 + lVar16 + 8)" ( (binary_expression "puVar1 + lVar16 + 8" (binary_expression "puVar1 + lVar16" identifier + identifier) + number_literal) ))))) ;) (expression_statement "pEVar15 = this->ranges_reloc_mapper_;" (assignment_expression "pEVar15 = this->ranges_reloc_mapper_" identifier = (field_expression "this->ranges_reloc_mapper_" identifier -> field_identifier)) ;) (expression_statement "uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;" (assignment_expression "uVar13 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" identifier = (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28" (binary_expression "uVar14 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar14 & 0xff000000000000)" ( (binary_expression "uVar14 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar14 & 0xff0000000000)" ( (binary_expression "uVar14 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00000000) >> 8" (parenthesized_expression "(uVar14 & 0xff00000000)" ( (binary_expression "uVar14 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff000000) << 8" (parenthesized_expression "(uVar14 & 0xff000000)" ( (binary_expression "uVar14 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff0000) << 0x18" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff00) << 0x28" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x38" identifier << number_literal))) ;) (if_statement "if (cVar7 == '\0') {\n            uVar13 = uVar14;\n          }" if (parenthesized_expression "(cVar7 == '\0')" ( (binary_expression "cVar7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar13 = uVar14;\n          }" { (expression_statement "uVar13 = uVar14;" (assignment_expression "uVar13 = uVar14" identifier = identifier) ;) })) (if_statement "if (pEVar15 != (Elf_reloc_mapper *)0x0) goto LAB_00161889;" if (parenthesized_expression "(pEVar15 != (Elf_reloc_mapper *)0x0)" ( (binary_expression "pEVar15 != (Elf_reloc_mapper *)0x0" identifier != (cast_expression "(Elf_reloc_mapper *)0x0" ( (type_descriptor "Elf_reloc_mapper *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161889;" goto statement_identifier ;)) (labeled_statement "LAB_00161a02:\n          uVar10 = 0;" statement_identifier : (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;)) (expression_statement "uVar14 = uVar13;" (assignment_expression "uVar14 = uVar13" identifier = identifier) ;) (labeled_statement "LAB_00161a04:\n          if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" statement_identifier : (if_statement "if (uVar12 == 0) {\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }\n          else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n            if (uVar14 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;\n            format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );\n            gold_warning(format,pcVar5);\n            uVar13 = local_60;\n          }" { (if_statement "if (uVar14 == 0) {\n              return local_68;\n            }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\n              return local_68;\n            }" { (return_statement "return local_68;" return identifier ;) })) (labeled_statement "LAB_00161a12:\n            if (uVar10 == 0) goto LAB_00161930;" statement_identifier : (if_statement "if (uVar10 == 0) goto LAB_00161930;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00161930;" goto statement_identifier ;))) (labeled_statement "LAB_00161a1a:\n            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;" statement_identifier : (expression_statement "pcVar5 = (object->super_Object).name_._M_dataplus._M_p;" (assignment_expression "pcVar5 = (object->super_Object).name_._M_dataplus._M_p" identifier = (field_expression "(object->super_Object).name_._M_dataplus._M_p" (field_expression "(object->super_Object).name_._M_dataplus" (field_expression "(object->super_Object).name_" (parenthesized_expression "(object->super_Object)" ( (field_expression "object->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;)) (expression_statement "format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    );" (assignment_expression "format = (char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    )" identifier = (cast_expression "(char *)gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    )" identifier (argument_list "(\n                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                                    )" ( (string_literal ""%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"" " string_content ") ))))) ;) (expression_statement "gold_warning(format,pcVar5);" (call_expression "gold_warning(format,pcVar5)" identifier (argument_list "(format,pcVar5)" ( identifier , identifier ))) ;) (expression_statement "uVar13 = local_60;" (assignment_expression "uVar13 = local_60" identifier = identifier) ;) }) (else_clause "else {\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" else (compound_statement "{\n            uVar13 = uVar14;\n            if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" { (expression_statement "uVar13 = uVar14;" (assignment_expression "uVar13 = uVar14" identifier = identifier) ;) (if_statement "if (uVar12 != 0xffffffffffffffff) goto LAB_00161a12;" if (parenthesized_expression "(uVar12 != 0xffffffffffffffff)" ( (binary_expression "uVar12 != 0xffffffffffffffff" identifier != number_literal) )) (goto_statement "goto LAB_00161a12;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_00161977:\n        local_60 = uVar13;" statement_identifier : (expression_statement "local_60 = uVar13;" (assignment_expression "local_60 = uVar13" identifier = identifier) ;)) (expression_statement "lVar16 = lVar16 + (ulong)(addr_size * 2);" (assignment_expression "lVar16 = lVar16 + (ulong)(addr_size * 2)" identifier = (binary_expression "lVar16 + (ulong)(addr_size * 2)" identifier + (call_expression "(ulong)(addr_size * 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(addr_size * 2)" ( (binary_expression "addr_size * 2" identifier * number_literal) ))))) ;) (expression_statement "puVar11 = (ulong *)(this->ranges_buffer_ + lVar16);" (assignment_expression "puVar11 = (ulong *)(this->ranges_buffer_ + lVar16)" identifier = (cast_expression "(ulong *)(this->ranges_buffer_ + lVar16)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this->ranges_buffer_ + lVar16)" ( (binary_expression "this->ranges_buffer_ + lVar16" (field_expression "this->ranges_buffer_" identifier -> field_identifier) + identifier) )))) ;) }) while (parenthesized_expression "(puVar11 < this->ranges_buffer_end_)" ( (binary_expression "puVar11 < this->ranges_buffer_end_" identifier < (field_expression "this->ranges_buffer_end_" identifier -> field_identifier)) )) ;) })) }) (else_clause "else {\n    local_68 = (Dwarf_range_list *)0x0;\n  }" else (compound_statement "{\n    local_68 = (Dwarf_range_list *)0x0;\n  }" { (expression_statement "local_68 = (Dwarf_range_list *)0x0;" (assignment_expression "local_68 = (Dwarf_range_list *)0x0" identifier = (cast_expression "(Dwarf_range_list *)0x0" ( (type_descriptor "Dwarf_range_list *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (return_statement "return local_68;" return identifier ;) }))
(translation_unit "undefined8 *\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}\n\n" (function_definition "undefined8 *\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}" type_identifier (pointer_declarator "*\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" * (function_declarator "FUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" identifier (parameter_list "(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined8 param_4" type_identifier identifier) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "long param_7" (sized_type_specifier "long" long) identifier) )))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "ulong *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (declaration "undefined8 *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "ulong local_60;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "undefined4 uStack_54;" type_identifier identifier ;) (declaration "long lStack_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (expression_statement "cVar5 = FUN_0015f3e0();" (assignment_expression "cVar5 = FUN_0015f3e0()" identifier = (call_expression "FUN_0015f3e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_68 = (undefined8 *)0x0;\n  }" { (expression_statement "local_68 = (undefined8 *)0x0;" (assignment_expression "local_68 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" else (compound_statement "{\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" { (expression_statement "param_7 = param_7 - param_1[7];" (assignment_expression "param_7 = param_7 - param_1[7]" identifier = (binary_expression "param_7 - param_1[7]" identifier - (subscript_expression "param_1[7]" identifier [ number_literal ]))) ;) (expression_statement "local_68 = (undefined8 *)FUN_00275550(0x18);" (assignment_expression "local_68 = (undefined8 *)FUN_00275550(0x18)" identifier = (cast_expression "(undefined8 *)FUN_00275550(0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00275550(0x18)" identifier (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "*local_68 = 0;" (assignment_expression "*local_68 = 0" (pointer_expression "*local_68" * identifier) = number_literal) ;) (expression_statement "puVar9 = (ulong *)(lVar1 + param_7);" (assignment_expression "puVar9 = (ulong *)(lVar1 + param_7)" identifier = (cast_expression "(ulong *)(lVar1 + param_7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + param_7)" ( (binary_expression "lVar1 + param_7" identifier + identifier) )))) ;) (expression_statement "local_68[1] = 0;" (assignment_expression "local_68[1] = 0" (subscript_expression "local_68[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_68[2] = 0;" (assignment_expression "local_68[2] = 0" (subscript_expression "local_68[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }" if (parenthesized_expression "(puVar9 < (ulong *)param_1[3])" ( (binary_expression "puVar9 < (ulong *)param_1[3]" identifier < (cast_expression "(ulong *)param_1[3]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) )) (compound_statement "{\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }" { (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" identifier = number_literal) ;) (do_statement "do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);" do (compound_statement "{\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      }" { (expression_statement "lVar1 = **(long **)(*param_1 + 0x10);" (assignment_expression "lVar1 = **(long **)(*param_1 + 0x10)" identifier = (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) )))))) ;) (expression_statement "pcVar3 = *(code **)(lVar1 + 0x18);" (assignment_expression "pcVar3 = *(code **)(lVar1 + 0x18)" identifier = (pointer_expression "*(code **)(lVar1 + 0x18)" * (cast_expression "(code **)(lVar1 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x18)" ( (binary_expression "lVar1 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" if (parenthesized_expression "(param_5 == 4)" ( (binary_expression "param_5 == 4" identifier == number_literal) )) (compound_statement "{\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }" { (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(lVar1 + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(lVar1 + 0x1d0))()" identifier = (call_expression "(**(code **)(lVar1 + 0x1d0))()" (parenthesized_expression "(**(code **)(lVar1 + 0x1d0))" ( (pointer_expression "**(code **)(lVar1 + 0x1d0)" * (pointer_expression "*(code **)(lVar1 + 0x1d0)" * (cast_expression "(code **)(lVar1 + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x1d0)" ( (binary_expression "lVar1 + 0x1d0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = (uint)*puVar9;" (assignment_expression "uVar6 = (uint)*puVar9" identifier = (binary_expression "(uint)*puVar9" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" { (expression_statement "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" identifier = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 << 0x18" identifier << number_literal))) ;) })) (expression_statement "uVar10 = (ulong)uVar6;" (assignment_expression "uVar10 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);" (assignment_expression "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18)" identifier = (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x18)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x18)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x18" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" identifier = (call_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (parenthesized_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))" ( (pointer_expression "**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x1d0" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar6 = *(uint *)(lVar1 + 4 + param_7);" (assignment_expression "uVar6 = *(uint *)(lVar1 + 4 + param_7)" identifier = (pointer_expression "*(uint *)(lVar1 + 4 + param_7)" * (cast_expression "(uint *)(lVar1 + 4 + param_7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 4 + param_7)" ( (binary_expression "lVar1 + 4 + param_7" (binary_expression "lVar1 + 4" identifier + number_literal) + identifier) ))))) ;) (expression_statement "plVar13 = (long *)param_1[5];" (assignment_expression "plVar13 = (long *)param_1[5]" identifier = (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (if_statement "if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" { (expression_statement "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" identifier = (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" ( (binary_expression "uVar6 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" ( (binary_expression "uVar6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar6 << 0x18" identifier << number_literal))) ;) })) (expression_statement "uVar11 = (ulong)uVar6;" (assignment_expression "uVar11 = (ulong)uVar6" identifier = (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (plVar13 == (long *)0x0) goto LAB_00161a02;" if (parenthesized_expression "(plVar13 == (long *)0x0)" ( (binary_expression "plVar13 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161a02;" goto statement_identifier ;)) (labeled_statement "LAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);" statement_identifier : (expression_statement "uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);" (assignment_expression "uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58)" identifier = (call_expression "(**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58)" (parenthesized_expression "(**(code **)(*plVar13 + 0x28))" ( (pointer_expression "**(code **)(*plVar13 + 0x28)" * (pointer_expression "*(code **)(*plVar13 + 0x28)" * (cast_expression "(code **)(*plVar13 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar13 + 0x28)" ( (binary_expression "*plVar13 + 0x28" (pointer_expression "*plVar13" * identifier) + number_literal) ))))) )) (argument_list "(plVar13,param_7,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) )))) ;)) (if_statement "if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" { (expression_statement "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);" (assignment_expression "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" identifier = (call_expression "(**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (parenthesized_expression "(**(code **)(*(long *)param_1[5] + 0x28))" ( (pointer_expression "**(code **)(*(long *)param_1[5] + 0x28)" * (pointer_expression "*(code **)(*(long *)param_1[5] + 0x28)" * (cast_expression "(code **)(*(long *)param_1[5] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1[5] + 0x28)" ( (binary_expression "*(long *)param_1[5] + 0x28" (pointer_expression "*(long *)param_1[5]" * (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" ( (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(ulong)param_5 + param_7" (cast_expression "(ulong)param_5" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) , (pointer_expression "&local_58" & identifier) )))) ;) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (if_statement "if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }" if (parenthesized_expression "((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9))" ( (binary_expression "(uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)" (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)" ( (comma_expression "uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" identifier = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) , (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) == number_literal)) ))) )) (compound_statement "{\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }" { (labeled_statement "LAB_00161a8e:\n              uVar12 = uVar12 + uVar11;" statement_identifier : (expression_statement "uVar12 = uVar12 + uVar11;" (assignment_expression "uVar12 = uVar12 + uVar11" identifier = (binary_expression "uVar12 + uVar11" identifier + identifier)) ;)) (if_statement "if (uVar6 != 0) goto LAB_001618f5;" if (parenthesized_expression "(uVar6 != 0)" ( (binary_expression "uVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001618f5;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00161a04;" goto statement_identifier ;) })) (expression_statement "uVar12 = CONCAT44(uStack_54,local_58);" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" identifier = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) ;) (if_statement "if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }" if (parenthesized_expression "((int)param_1[6] == 9)" ( (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) == number_literal) )) (compound_statement "{\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }" { (expression_statement "uVar12 = CONCAT44(uStack_54,local_58) + uVar10;" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58) + uVar10" identifier = (binary_expression "CONCAT44(uStack_54,local_58) + uVar10" (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier ))) + identifier)) ;) })) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (expression_statement "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);" (assignment_expression "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" identifier = (call_expression "(**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (parenthesized_expression "(**(code **)(*(long *)param_1[5] + 0x28))" ( (pointer_expression "**(code **)(*(long *)param_1[5] + 0x28)" * (pointer_expression "*(code **)(*(long *)param_1[5] + 0x28)" * (cast_expression "(code **)(*(long *)param_1[5] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)param_1[5] + 0x28)" ( (binary_expression "*(long *)param_1[5] + 0x28" (pointer_expression "*(long *)param_1[5]" * (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" ( (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ])) , (binary_expression "(ulong)param_5 + param_7" (cast_expression "(ulong)param_5" ( (type_descriptor "ulong" type_identifier) ) identifier) + identifier) , (pointer_expression "&local_58" & identifier) )))) ;) (if_statement "if (uVar7 == 0) goto LAB_00161a1a;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00161a1a;" goto statement_identifier ;)) (expression_statement "uVar12 = CONCAT44(uStack_54,local_58);" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" identifier = (call_expression "CONCAT44(uStack_54,local_58)" identifier (argument_list "(uStack_54,local_58)" ( identifier , identifier )))) ;) (if_statement "if ((int)param_1[6] == 9) goto LAB_00161a8e;" if (parenthesized_expression "((int)param_1[6] == 9)" ( (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[6]" identifier [ number_literal ])) == number_literal) )) (goto_statement "goto LAB_00161a8e;" goto statement_identifier ;)) (labeled_statement "LAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;" statement_identifier : (if_statement "if (uVar7 != uVar6) goto LAB_00161a1a;" if (parenthesized_expression "(uVar7 != uVar6)" ( (binary_expression "uVar7 != uVar6" identifier != identifier) )) (goto_statement "goto LAB_00161a1a;" goto statement_identifier ;))) (if_statement "if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7)" ( (binary_expression "(ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7" (call_expression "(ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3)" ( (binary_expression "*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3" (binary_expression "*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50)" (pointer_expression "*(long *)(param_2 + 0x58)" * (cast_expression "(long *)(param_2 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x58)" ( (binary_expression "param_2 + 0x58" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_2 + 0x50)" * (cast_expression "(long *)(param_2 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) ))))) >> number_literal) ))) <= (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }" { (expression_statement "FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) (if_statement "if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;" if (parenthesized_expression "(*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0)" ( (binary_expression "*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0" (pointer_expression "*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" * (cast_expression "(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" ( (binary_expression "*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8" (pointer_expression "*(long *)(param_2 + 0x50)" * (cast_expression "(long *)(param_2 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x50)" ( (binary_expression "param_2 + 0x50" identifier + number_literal) )))) + (binary_expression "(ulong)uVar7 * 8" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) == number_literal) )) (goto_statement "goto LAB_00161977;" goto statement_identifier ;)) (labeled_statement "LAB_00161930:\n          lStack_50 = uVar10 + local_60;" statement_identifier : (expression_statement "lStack_50 = uVar10 + local_60;" (assignment_expression "lStack_50 = uVar10 + local_60" identifier = (binary_expression "uVar10 + local_60" identifier + identifier)) ;)) (expression_statement "local_48 = uVar12 + local_60;" (assignment_expression "local_48 = uVar12 + local_60" identifier = (binary_expression "uVar12 + local_60" identifier + identifier)) ;) (expression_statement "puVar2 = (undefined8 *)local_68[1];" (assignment_expression "puVar2 = (undefined8 *)local_68[1]" identifier = (cast_expression "(undefined8 *)local_68[1]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_68[1]" identifier [ number_literal ]))) ;) (expression_statement "local_58 = uVar7;" (assignment_expression "local_58 = uVar7" identifier = identifier) ;) (if_statement "if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" if (parenthesized_expression "(puVar2 == (undefined8 *)local_68[2])" ( (binary_expression "puVar2 == (undefined8 *)local_68[2]" identifier == (cast_expression "(undefined8 *)local_68[2]" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_68[2]" identifier [ number_literal ]))) )) (compound_statement "{\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }" { (expression_statement "FUN_001634e0(local_68,puVar2,&local_58);" (call_expression "FUN_001634e0(local_68,puVar2,&local_58)" identifier (argument_list "(local_68,puVar2,&local_58)" ( identifier , identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) }) (else_clause "else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" else (compound_statement "{\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" { (expression_statement "*puVar2 = CONCAT44(uStack_54,uVar7);" (assignment_expression "*puVar2 = CONCAT44(uStack_54,uVar7)" (pointer_expression "*puVar2" * identifier) = (call_expression "CONCAT44(uStack_54,uVar7)" identifier (argument_list "(uStack_54,uVar7)" ( identifier , identifier )))) ;) (expression_statement "puVar2[1] = lStack_50;" (assignment_expression "puVar2[1] = lStack_50" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2[2] = local_48;" (assignment_expression "puVar2[2] = local_48" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_68[1] = puVar2 + 3;" (assignment_expression "local_68[1] = puVar2 + 3" (subscript_expression "local_68[1]" identifier [ number_literal ]) = (binary_expression "puVar2 + 3" identifier + number_literal)) ;) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) }))) }) (else_clause "else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" else (compound_statement "{\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" { (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(lVar1 + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(lVar1 + 0x1d0))()" identifier = (call_expression "(**(code **)(lVar1 + 0x1d0))()" (parenthesized_expression "(**(code **)(lVar1 + 0x1d0))" ( (pointer_expression "**(code **)(lVar1 + 0x1d0)" * (pointer_expression "*(code **)(lVar1 + 0x1d0)" * (cast_expression "(code **)(lVar1 + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar1 + 0x1d0)" ( (binary_expression "lVar1 + 0x1d0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" identifier = (subscript_expression "param_1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = *puVar9;" (assignment_expression "uVar12 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;" (assignment_expression "uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" identifier = (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28" (binary_expression "uVar12 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar12 & 0xff000000000000)" ( (binary_expression "uVar12 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar12 & 0xff0000000000)" ( (binary_expression "uVar12 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00000000) >> 8" (parenthesized_expression "(uVar12 & 0xff00000000)" ( (binary_expression "uVar12 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x38" identifier << number_literal))) ;) (if_statement "if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar10 = uVar12;\n          }" { (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) })) (expression_statement "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);" (assignment_expression "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18)" identifier = (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x18)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x18)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x18" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" if (parenthesized_expression "(pcVar3 == FUN_0014c090)" ( (binary_expression "pcVar3 == FUN_0014c090" identifier == identifier) )) (compound_statement "{\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }" { (expression_statement "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" identifier = (call_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (parenthesized_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))" ( (pointer_expression "**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" * (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x1d0)" ( (binary_expression "**(long **)(*param_1 + 0x10) + 0x1d0" (pointer_expression "**(long **)(*param_1 + 0x10)" * (pointer_expression "*(long **)(*param_1 + 0x10)" * (cast_expression "(long **)(*param_1 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x10)" ( (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" * identifier) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" else (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" { (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" identifier = (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" ( (pointer_expression "*pcVar3" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar12 = *(ulong *)(lVar1 + 8 + param_7);" (assignment_expression "uVar12 = *(ulong *)(lVar1 + 8 + param_7)" identifier = (pointer_expression "*(ulong *)(lVar1 + 8 + param_7)" * (cast_expression "(ulong *)(lVar1 + 8 + param_7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 8 + param_7)" ( (binary_expression "lVar1 + 8 + param_7" (binary_expression "lVar1 + 8" identifier + number_literal) + identifier) ))))) ;) (expression_statement "plVar13 = (long *)param_1[5];" (assignment_expression "plVar13 = (long *)param_1[5]" identifier = (cast_expression "(long *)param_1[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[5]" identifier [ number_literal ]))) ;) (expression_statement "uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;" (assignment_expression "uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" identifier = (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28" (binary_expression "uVar12 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar12 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar12 & 0xff000000000000)" ( (binary_expression "uVar12 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar12 & 0xff0000000000)" ( (binary_expression "uVar12 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff00000000) >> 8" (parenthesized_expression "(uVar12 & 0xff00000000)" ( (binary_expression "uVar12 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x38" identifier << number_literal))) ;) (if_statement "if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar11 = uVar12;\n          }" { (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) })) (if_statement "if (plVar13 != (long *)0x0) goto LAB_00161889;" if (parenthesized_expression "(plVar13 != (long *)0x0)" ( (binary_expression "plVar13 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00161889;" goto statement_identifier ;)) (labeled_statement "LAB_00161a02:\n          uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" identifier = identifier) ;) (labeled_statement "LAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" statement_identifier : (if_statement "if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }" { (if_statement "if (uVar12 == 0) {\n              return local_68;\n            }" if (parenthesized_expression "(uVar12 == 0)" ( (binary_expression "uVar12 == 0" identifier == number_literal) )) (compound_statement "{\n              return local_68;\n            }" { (return_statement "return local_68;" return identifier ;) })) (labeled_statement "LAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;" statement_identifier : (if_statement "if (uVar7 == 0) goto LAB_00161930;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00161930;" goto statement_identifier ;))) (labeled_statement "LAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);" statement_identifier : (expression_statement "uVar4 = *(undefined8 *)(param_2 + 8);" (assignment_expression "uVar4 = *(undefined8 *)(param_2 + 8)" identifier = (pointer_expression "*(undefined8 *)(param_2 + 8)" * (cast_expression "(undefined8 *)(param_2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;)) (expression_statement "uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );" (assignment_expression "uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" identifier = (call_expression "gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" identifier (argument_list "(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" ( (string_literal ""%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"" " string_content ") )))) ;) (expression_statement "FUN_00169150(uVar8,uVar4);" (call_expression "FUN_00169150(uVar8,uVar4)" identifier (argument_list "(uVar8,uVar4)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" identifier = identifier) ;) }) (else_clause "else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" else (compound_statement "{\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" { (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" identifier = identifier) ;) (if_statement "if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;" if (parenthesized_expression "(uVar10 != 0xffffffffffffffff)" ( (binary_expression "uVar10 != 0xffffffffffffffff" identifier != number_literal) )) (goto_statement "goto LAB_00161a12;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_00161977:\n        local_60 = uVar11;" statement_identifier : (expression_statement "local_60 = uVar11;" (assignment_expression "local_60 = uVar11" identifier = identifier) ;)) (expression_statement "param_7 = param_7 + (ulong)(param_5 * 2);" (assignment_expression "param_7 = param_7 + (ulong)(param_5 * 2)" identifier = (binary_expression "param_7 + (ulong)(param_5 * 2)" identifier + (call_expression "(ulong)(param_5 * 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_5 * 2)" ( (binary_expression "param_5 * 2" identifier * number_literal) ))))) ;) (expression_statement "puVar9 = (ulong *)(param_1[2] + param_7);" (assignment_expression "puVar9 = (ulong *)(param_1[2] + param_7)" identifier = (cast_expression "(ulong *)(param_1[2] + param_7)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[2] + param_7)" ( (binary_expression "param_1[2] + param_7" (subscript_expression "param_1[2]" identifier [ number_literal ]) + identifier) )))) ;) }) while (parenthesized_expression "(puVar9 < (ulong *)param_1[3])" ( (binary_expression "puVar9 < (ulong *)param_1[3]" identifier < (cast_expression "(ulong *)param_1[3]" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) )) ;) })) }))) (return_statement "return local_68;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) )))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 IDENT + LIT) ))))) )) (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) + LIT) ))))) )) (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;)) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression IDENT (argument_list ( IDENT , IDENT ))) + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 IDENT + LIT) ))))) )) (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 * (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) + LIT) ))))) )) (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) }))) (return_statement return IDENT ;) })))
(function_definition "undefined8 *\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)\n\n{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}" (type_identifier "undefined8") (pointer_declarator "*\nFUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" (* "*") (function_declarator "FUN_00161790(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" (identifier "FUN_00161790") (parameter_list "(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,\n            undefined8 param_6,long param_7)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined8 param_4" (type_identifier "undefined8") (identifier "param_4")) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "long param_7" (sized_type_specifier "long" (long "long")) (identifier "param_7")) () ")")))) (compound_statement "{\n  long lVar1;\n  undefined8 *puVar2;\n  code *pcVar3;\n  undefined8 uVar4;\n  char cVar5;\n  uint uVar6;\n  uint uVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong uVar10;\n  ulong uVar11;\n  ulong uVar12;\n  long *plVar13;\n  undefined8 *local_68;\n  ulong local_60;\n  uint local_58;\n  undefined4 uStack_54;\n  long lStack_50;\n  long local_48;\n  \n  cVar5 = FUN_0015f3e0();\n  if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }\n  return local_68;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 *puVar2;" (type_identifier "undefined8") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "ulong *puVar9;" (type_identifier "ulong") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "ulong uVar12;" (type_identifier "ulong") (identifier "uVar12") (; ";")) (declaration "long *plVar13;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar13" (* "*") (identifier "plVar13")) (; ";")) (declaration "undefined8 *local_68;" (type_identifier "undefined8") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "ulong local_60;" (type_identifier "ulong") (identifier "local_60") (; ";")) (declaration "uint local_58;" (type_identifier "uint") (identifier "local_58") (; ";")) (declaration "undefined4 uStack_54;" (type_identifier "undefined4") (identifier "uStack_54") (; ";")) (declaration "long lStack_50;" (sized_type_specifier "long" (long "long")) (identifier "lStack_50") (; ";")) (declaration "long local_48;" (sized_type_specifier "long" (long "long")) (identifier "local_48") (; ";")) (expression_statement "cVar5 = FUN_0015f3e0();" (assignment_expression "cVar5 = FUN_0015f3e0()" (identifier "cVar5") (= "=") (call_expression "FUN_0015f3e0()" (identifier "FUN_0015f3e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar5 == '\0') {\n    local_68 = (undefined8 *)0x0;\n  }\n  else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_68 = (undefined8 *)0x0;\n  }" ({ "{") (expression_statement "local_68 = (undefined8 *)0x0;" (assignment_expression "local_68 = (undefined8 *)0x0" (identifier "local_68") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" (else "else") (compound_statement "{\n    param_7 = param_7 - param_1[7];\n    local_68 = (undefined8 *)FUN_00275550(0x18);\n    lVar1 = param_1[2];\n    *local_68 = 0;\n    puVar9 = (ulong *)(lVar1 + param_7);\n    local_68[1] = 0;\n    local_68[2] = 0;\n    if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }\n  }" ({ "{") (expression_statement "param_7 = param_7 - param_1[7];" (assignment_expression "param_7 = param_7 - param_1[7]" (identifier "param_7") (= "=") (binary_expression "param_7 - param_1[7]" (identifier "param_7") (- "-") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "local_68 = (undefined8 *)FUN_00275550(0x18);" (assignment_expression "local_68 = (undefined8 *)FUN_00275550(0x18)" (identifier "local_68") (= "=") (cast_expression "(undefined8 *)FUN_00275550(0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00275550(0x18)" (identifier "FUN_00275550") (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")"))))) (; ";")) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" (identifier "lVar1") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*local_68 = 0;" (assignment_expression "*local_68 = 0" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9 = (ulong *)(lVar1 + param_7);" (assignment_expression "puVar9 = (ulong *)(lVar1 + param_7)" (identifier "puVar9") (= "=") (cast_expression "(ulong *)(lVar1 + param_7)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + param_7)" (( "(") (binary_expression "lVar1 + param_7" (identifier "lVar1") (+ "+") (identifier "param_7")) () ")")))) (; ";")) (expression_statement "local_68[1] = 0;" (assignment_expression "local_68[1] = 0" (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68[2] = 0;" (assignment_expression "local_68[2] = 0" (subscript_expression "local_68[2]" (identifier "local_68") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar9 < (ulong *)param_1[3]) {\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }" (if "if") (parenthesized_expression "(puVar9 < (ulong *)param_1[3])" (( "(") (binary_expression "puVar9 < (ulong *)param_1[3]" (identifier "puVar9") (< "<") (cast_expression "(ulong *)param_1[3]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) () ")")) (compound_statement "{\n      local_60 = 0;\n      do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);\n    }" ({ "{") (expression_statement "local_60 = 0;" (assignment_expression "local_60 = 0" (identifier "local_60") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      } while (puVar9 < (ulong *)param_1[3]);" (do "do") (compound_statement "{\n        lVar1 = **(long **)(*param_1 + 0x10);\n        pcVar3 = *(code **)(lVar1 + 0x18);\n        if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }\nLAB_00161977:\n        local_60 = uVar11;\n        param_7 = param_7 + (ulong)(param_5 * 2);\n        puVar9 = (ulong *)(param_1[2] + param_7);\n      }" ({ "{") (expression_statement "lVar1 = **(long **)(*param_1 + 0x10);" (assignment_expression "lVar1 = **(long **)(*param_1 + 0x10)" (identifier "lVar1") (= "=") (pointer_expression "**(long **)(*param_1 + 0x10)" (* "*") (pointer_expression "*(long **)(*param_1 + 0x10)" (* "*") (cast_expression "(long **)(*param_1 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x10)" (( "(") (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (expression_statement "pcVar3 = *(code **)(lVar1 + 0x18);" (assignment_expression "pcVar3 = *(code **)(lVar1 + 0x18)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(lVar1 + 0x18)" (* "*") (cast_expression "(code **)(lVar1 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x18)" (( "(") (binary_expression "lVar1 + 0x18" (identifier "lVar1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (param_5 == 4) {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }\n        else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" (if "if") (parenthesized_expression "(param_5 == 4)" (( "(") (binary_expression "param_5 == 4" (identifier "param_5") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar6 = (uint)*puVar9;\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar10 = (ulong)uVar6;\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar6 = *(uint *)(lVar1 + 4 + param_7);\n          plVar13 = (long *)param_1[5];\n          if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }\n          uVar11 = (ulong)uVar6;\n          if (plVar13 == (long *)0x0) goto LAB_00161a02;\nLAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);\n          if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }\n          uVar10 = uVar12;\n          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n          if (uVar7 == 0) goto LAB_00161a1a;\n          uVar12 = CONCAT44(uStack_54,local_58);\n          if ((int)param_1[6] == 9) goto LAB_00161a8e;\nLAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;\n          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          uVar11 = local_60;\n          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;\nLAB_00161930:\n          lStack_50 = uVar10 + local_60;\n          local_48 = uVar12 + local_60;\n          puVar2 = (undefined8 *)local_68[1];\n          local_58 = uVar7;\n          if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }\n        }" ({ "{") (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" (if "if") (parenthesized_expression "(pcVar3 == FUN_0014c090)" (( "(") (binary_expression "pcVar3 == FUN_0014c090" (identifier "pcVar3") (== "==") (identifier "FUN_0014c090")) () ")")) (compound_statement "{\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }" ({ "{") (expression_statement "cVar5 = (**(code **)(lVar1 + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(lVar1 + 0x1d0))()" (identifier "cVar5") (= "=") (call_expression "(**(code **)(lVar1 + 0x1d0))()" (parenthesized_expression "(**(code **)(lVar1 + 0x1d0))" (( "(") (pointer_expression "**(code **)(lVar1 + 0x1d0)" (* "*") (pointer_expression "*(code **)(lVar1 + 0x1d0)" (* "*") (cast_expression "(code **)(lVar1 + 0x1d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x1d0)" (( "(") (binary_expression "lVar1 + 0x1d0" (identifier "lVar1") (+ "+") (number_literal "0x1d0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" (else "else") (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" ({ "{") (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" (identifier "cVar5") (= "=") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" (identifier "lVar1") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar6 = (uint)*puVar9;" (assignment_expression "uVar6 = (uint)*puVar9" (identifier "uVar6") (= "=") (binary_expression "(uint)*puVar9" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "puVar9"))) (; ";")) (if_statement "if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" ({ "{") (expression_statement "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (identifier "uVar6") (= "=") (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" (( "(") (binary_expression "uVar6 & 0xff0000" (identifier "uVar6") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" (( "(") (binary_expression "uVar6 & 0xff00" (identifier "uVar6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar6 << 0x18" (identifier "uVar6") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}"))) (expression_statement "uVar10 = (ulong)uVar6;" (assignment_expression "uVar10 = (ulong)uVar6" (identifier "uVar10") (= "=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);" (assignment_expression "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x18)" (* "*") (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x18)" (( "(") (binary_expression "**(long **)(*param_1 + 0x10) + 0x18" (pointer_expression "**(long **)(*param_1 + 0x10)" (* "*") (pointer_expression "*(long **)(*param_1 + 0x10)" (* "*") (cast_expression "(long **)(*param_1 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x10)" (( "(") (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" (if "if") (parenthesized_expression "(pcVar3 == FUN_0014c090)" (( "(") (binary_expression "pcVar3 == FUN_0014c090" (identifier "pcVar3") (== "==") (identifier "FUN_0014c090")) () ")")) (compound_statement "{\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }" ({ "{") (expression_statement "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (identifier "cVar5") (= "=") (call_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (parenthesized_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))" (( "(") (pointer_expression "**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" (* "*") (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" (* "*") (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x1d0)" (( "(") (binary_expression "**(long **)(*param_1 + 0x10) + 0x1d0" (pointer_expression "**(long **)(*param_1 + 0x10)" (* "*") (pointer_expression "*(long **)(*param_1 + 0x10)" (* "*") (cast_expression "(long **)(*param_1 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x10)" (( "(") (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (number_literal "0x1d0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" (else "else") (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" ({ "{") (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" (identifier "cVar5") (= "=") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar6 = *(uint *)(lVar1 + 4 + param_7);" (assignment_expression "uVar6 = *(uint *)(lVar1 + 4 + param_7)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(lVar1 + 4 + param_7)" (* "*") (cast_expression "(uint *)(lVar1 + 4 + param_7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 4 + param_7)" (( "(") (binary_expression "lVar1 + 4 + param_7" (binary_expression "lVar1 + 4" (identifier "lVar1") (+ "+") (number_literal "4")) (+ "+") (identifier "param_7")) () ")"))))) (; ";")) (expression_statement "plVar13 = (long *)param_1[5];" (assignment_expression "plVar13 = (long *)param_1[5]" (identifier "plVar13") (= "=") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (; ";")) (if_statement "if (cVar5 != '\0') {\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;\n          }" ({ "{") (expression_statement "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;" (assignment_expression "uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (identifier "uVar6") (= "=") (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8" (binary_expression "uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8" (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 & 0xff0000) >> 8" (parenthesized_expression "(uVar6 & 0xff0000)" (( "(") (binary_expression "uVar6 & 0xff0000" (identifier "uVar6") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar6 & 0xff00) << 8" (parenthesized_expression "(uVar6 & 0xff00)" (( "(") (binary_expression "uVar6 & 0xff00" (identifier "uVar6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar6 << 0x18" (identifier "uVar6") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}"))) (expression_statement "uVar11 = (ulong)uVar6;" (assignment_expression "uVar11 = (ulong)uVar6" (identifier "uVar11") (= "=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) (; ";")) (if_statement "if (plVar13 == (long *)0x0) goto LAB_00161a02;" (if "if") (parenthesized_expression "(plVar13 == (long *)0x0)" (( "(") (binary_expression "plVar13 == (long *)0x0" (identifier "plVar13") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00161a02;" (goto "goto") (statement_identifier "LAB_00161a02") (; ";"))) (labeled_statement "LAB_00161889:\n          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);" (statement_identifier "LAB_00161889") (: ":") (expression_statement "uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);" (assignment_expression "uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58)" (parenthesized_expression "(**(code **)(*plVar13 + 0x28))" (( "(") (pointer_expression "**(code **)(*plVar13 + 0x28)" (* "*") (pointer_expression "*(code **)(*plVar13 + 0x28)" (* "*") (cast_expression "(code **)(*plVar13 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar13 + 0x28)" (( "(") (binary_expression "*plVar13 + 0x28" (pointer_expression "*plVar13" (* "*") (identifier "plVar13")) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "(plVar13,param_7,&local_58)" (( "(") (identifier "plVar13") (, ",") (identifier "param_7") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";"))) (if_statement "if (uVar6 == 0) {\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);\n            uVar12 = uVar11;\n            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }\n            goto LAB_00161a04;\n          }" ({ "{") (expression_statement "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);" (assignment_expression "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(*(long *)param_1[5] + 0x28))\n                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (parenthesized_expression "(**(code **)(*(long *)param_1[5] + 0x28))" (( "(") (pointer_expression "**(code **)(*(long *)param_1[5] + 0x28)" (* "*") (pointer_expression "*(code **)(*(long *)param_1[5] + 0x28)" (* "*") (cast_expression "(code **)(*(long *)param_1[5] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1[5] + 0x28)" (( "(") (binary_expression "*(long *)param_1[5] + 0x28" (pointer_expression "*(long *)param_1[5]" (* "*") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (( "(") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (, ",") (binary_expression "(ulong)param_5 + param_7" (cast_expression "(ulong)param_5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_5")) (+ "+") (identifier "param_7")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" (identifier "uVar12") (= "=") (identifier "uVar11")) (; ";")) (if_statement "if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }" (if "if") (parenthesized_expression "((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9))" (( "(") (binary_expression "(uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)" (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)" (( "(") (comma_expression "uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" (identifier "uVar12") (= "=") (call_expression "CONCAT44(uStack_54,local_58)" (identifier "CONCAT44") (argument_list "(uStack_54,local_58)" (( "(") (identifier "uStack_54") (, ",") (identifier "local_58") () ")")))) (, ",") (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (== "==") (number_literal "9"))) () ")"))) () ")")) (compound_statement "{\nLAB_00161a8e:\n              uVar12 = uVar12 + uVar11;\n              if (uVar6 != 0) goto LAB_001618f5;\n            }" ({ "{") (labeled_statement "LAB_00161a8e:\n              uVar12 = uVar12 + uVar11;" (statement_identifier "LAB_00161a8e") (: ":") (expression_statement "uVar12 = uVar12 + uVar11;" (assignment_expression "uVar12 = uVar12 + uVar11" (identifier "uVar12") (= "=") (binary_expression "uVar12 + uVar11" (identifier "uVar12") (+ "+") (identifier "uVar11"))) (; ";"))) (if_statement "if (uVar6 != 0) goto LAB_001618f5;" (if "if") (parenthesized_expression "(uVar6 != 0)" (( "(") (binary_expression "uVar6 != 0" (identifier "uVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001618f5;" (goto "goto") (statement_identifier "LAB_001618f5") (; ";"))) (} "}"))) (goto_statement "goto LAB_00161a04;" (goto "goto") (statement_identifier "LAB_00161a04") (; ";")) (} "}"))) (expression_statement "uVar12 = CONCAT44(uStack_54,local_58);" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" (identifier "uVar12") (= "=") (call_expression "CONCAT44(uStack_54,local_58)" (identifier "CONCAT44") (argument_list "(uStack_54,local_58)" (( "(") (identifier "uStack_54") (, ",") (identifier "local_58") () ")")))) (; ";")) (if_statement "if ((int)param_1[6] == 9) {\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }" (if "if") (parenthesized_expression "((int)param_1[6] == 9)" (( "(") (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (== "==") (number_literal "9")) () ")")) (compound_statement "{\n            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;\n          }" ({ "{") (expression_statement "uVar12 = CONCAT44(uStack_54,local_58) + uVar10;" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58) + uVar10" (identifier "uVar12") (= "=") (binary_expression "CONCAT44(uStack_54,local_58) + uVar10" (call_expression "CONCAT44(uStack_54,local_58)" (identifier "CONCAT44") (argument_list "(uStack_54,local_58)" (( "(") (identifier "uStack_54") (, ",") (identifier "local_58") () ")"))) (+ "+") (identifier "uVar10"))) (; ";")) (} "}"))) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" (identifier "uVar10") (= "=") (identifier "uVar12")) (; ";")) (expression_statement "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);" (assignment_expression "uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(*(long *)param_1[5] + 0x28))\n                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (parenthesized_expression "(**(code **)(*(long *)param_1[5] + 0x28))" (( "(") (pointer_expression "**(code **)(*(long *)param_1[5] + 0x28)" (* "*") (pointer_expression "*(code **)(*(long *)param_1[5] + 0x28)" (* "*") (cast_expression "(code **)(*(long *)param_1[5] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)param_1[5] + 0x28)" (( "(") (binary_expression "*(long *)param_1[5] + 0x28" (pointer_expression "*(long *)param_1[5]" (* "*") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "((long *)param_1[5],(ulong)param_5 + param_7,&local_58)" (( "(") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]"))) (, ",") (binary_expression "(ulong)param_5 + param_7" (cast_expression "(ulong)param_5" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_5")) (+ "+") (identifier "param_7")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")")))) (; ";")) (if_statement "if (uVar7 == 0) goto LAB_00161a1a;" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00161a1a;" (goto "goto") (statement_identifier "LAB_00161a1a") (; ";"))) (expression_statement "uVar12 = CONCAT44(uStack_54,local_58);" (assignment_expression "uVar12 = CONCAT44(uStack_54,local_58)" (identifier "uVar12") (= "=") (call_expression "CONCAT44(uStack_54,local_58)" (identifier "CONCAT44") (argument_list "(uStack_54,local_58)" (( "(") (identifier "uStack_54") (, ",") (identifier "local_58") () ")")))) (; ";")) (if_statement "if ((int)param_1[6] == 9) goto LAB_00161a8e;" (if "if") (parenthesized_expression "((int)param_1[6] == 9)" (( "(") (binary_expression "(int)param_1[6] == 9" (cast_expression "(int)param_1[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (== "==") (number_literal "9")) () ")")) (goto_statement "goto LAB_00161a8e;" (goto "goto") (statement_identifier "LAB_00161a8e") (; ";"))) (labeled_statement "LAB_001618f5:\n          if (uVar7 != uVar6) goto LAB_00161a1a;" (statement_identifier "LAB_001618f5") (: ":") (if_statement "if (uVar7 != uVar6) goto LAB_00161a1a;" (if "if") (parenthesized_expression "(uVar7 != uVar6)" (( "(") (binary_expression "uVar7 != uVar6" (identifier "uVar7") (!= "!=") (identifier "uVar6")) () ")")) (goto_statement "goto LAB_00161a1a;" (goto "goto") (statement_identifier "LAB_00161a1a") (; ";")))) (if_statement "if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }" (if "if") (parenthesized_expression "((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7)" (( "(") (binary_expression "(ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7" (call_expression "(ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3)" (( "(") (binary_expression "*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3" (binary_expression "*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50)" (pointer_expression "*(long *)(param_2 + 0x58)" (* "*") (cast_expression "(long *)(param_2 + 0x58)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x58)" (( "(") (binary_expression "param_2 + 0x58" (identifier "param_2") (+ "+") (number_literal "0x58")) () ")")))) (- "-") (pointer_expression "*(long *)(param_2 + 0x50)" (* "*") (cast_expression "(long *)(param_2 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x50)" (( "(") (binary_expression "param_2 + 0x50" (identifier "param_2") (+ "+") (number_literal "0x50")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar7" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar7"))) () ")")) (compound_statement "{\n                    \n            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");\n          }" ({ "{") (expression_statement "FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included")" (identifier "FUN_0016cdf0") (argument_list "("../../gold/object.h",0x50b,"is_section_included")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x50b") (, ",") (string_literal ""is_section_included"" (" """) (string_content "is_section_included") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" (identifier "uVar11") (= "=") (identifier "local_60")) (; ";")) (if_statement "if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;" (if "if") (parenthesized_expression "(*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0" (pointer_expression "*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8)" (( "(") (binary_expression "*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8" (pointer_expression "*(long *)(param_2 + 0x50)" (* "*") (cast_expression "(long *)(param_2 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x50)" (( "(") (binary_expression "param_2 + 0x50" (identifier "param_2") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (binary_expression "(ulong)uVar7 * 8" (cast_expression "(ulong)uVar7" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar7")) (* "*") (number_literal "8"))) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00161977;" (goto "goto") (statement_identifier "LAB_00161977") (; ";"))) (labeled_statement "LAB_00161930:\n          lStack_50 = uVar10 + local_60;" (statement_identifier "LAB_00161930") (: ":") (expression_statement "lStack_50 = uVar10 + local_60;" (assignment_expression "lStack_50 = uVar10 + local_60" (identifier "lStack_50") (= "=") (binary_expression "uVar10 + local_60" (identifier "uVar10") (+ "+") (identifier "local_60"))) (; ";"))) (expression_statement "local_48 = uVar12 + local_60;" (assignment_expression "local_48 = uVar12 + local_60" (identifier "local_48") (= "=") (binary_expression "uVar12 + local_60" (identifier "uVar12") (+ "+") (identifier "local_60"))) (; ";")) (expression_statement "puVar2 = (undefined8 *)local_68[1];" (assignment_expression "puVar2 = (undefined8 *)local_68[1]" (identifier "puVar2") (= "=") (cast_expression "(undefined8 *)local_68[1]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "local_58 = uVar7;" (assignment_expression "local_58 = uVar7" (identifier "local_58") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (puVar2 == (undefined8 *)local_68[2]) {\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }\n          else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" (if "if") (parenthesized_expression "(puVar2 == (undefined8 *)local_68[2])" (( "(") (binary_expression "puVar2 == (undefined8 *)local_68[2]" (identifier "puVar2") (== "==") (cast_expression "(undefined8 *)local_68[2]" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_68[2]" (identifier "local_68") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n            FUN_001634e0(local_68,puVar2,&local_58);\n            uVar11 = local_60;\n          }" ({ "{") (expression_statement "FUN_001634e0(local_68,puVar2,&local_58);" (call_expression "FUN_001634e0(local_68,puVar2,&local_58)" (identifier "FUN_001634e0") (argument_list "(local_68,puVar2,&local_58)" (( "(") (identifier "local_68") (, ",") (identifier "puVar2") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" (identifier "uVar11") (= "=") (identifier "local_60")) (; ";")) (} "}")) (else_clause "else {\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" (else "else") (compound_statement "{\n            *puVar2 = CONCAT44(uStack_54,uVar7);\n            puVar2[1] = lStack_50;\n            puVar2[2] = local_48;\n            local_68[1] = puVar2 + 3;\n            uVar11 = local_60;\n          }" ({ "{") (expression_statement "*puVar2 = CONCAT44(uStack_54,uVar7);" (assignment_expression "*puVar2 = CONCAT44(uStack_54,uVar7)" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (call_expression "CONCAT44(uStack_54,uVar7)" (identifier "CONCAT44") (argument_list "(uStack_54,uVar7)" (( "(") (identifier "uStack_54") (, ",") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "puVar2[1] = lStack_50;" (assignment_expression "puVar2[1] = lStack_50" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "lStack_50")) (; ";")) (expression_statement "puVar2[2] = local_48;" (assignment_expression "puVar2[2] = local_48" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_68[1] = puVar2 + 3;" (assignment_expression "local_68[1] = puVar2 + 3" (subscript_expression "local_68[1]" (identifier "local_68") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "puVar2 + 3" (identifier "puVar2") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" (identifier "uVar11") (= "=") (identifier "local_60")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" (else "else") (compound_statement "{\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          lVar1 = param_1[2];\n          uVar12 = *puVar9;\n          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }\n          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);\n          if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }\n          uVar12 = *(ulong *)(lVar1 + 8 + param_7);\n          plVar13 = (long *)param_1[5];\n          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;\n          if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }\n          if (plVar13 != (long *)0x0) goto LAB_00161889;\nLAB_00161a02:\n          uVar7 = 0;\n          uVar12 = uVar11;\nLAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }\n        }" ({ "{") (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" (if "if") (parenthesized_expression "(pcVar3 == FUN_0014c090)" (( "(") (binary_expression "pcVar3 == FUN_0014c090" (identifier "pcVar3") (== "==") (identifier "FUN_0014c090")) () ")")) (compound_statement "{\n            cVar5 = (**(code **)(lVar1 + 0x1d0))();\n          }" ({ "{") (expression_statement "cVar5 = (**(code **)(lVar1 + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(lVar1 + 0x1d0))()" (identifier "cVar5") (= "=") (call_expression "(**(code **)(lVar1 + 0x1d0))()" (parenthesized_expression "(**(code **)(lVar1 + 0x1d0))" (( "(") (pointer_expression "**(code **)(lVar1 + 0x1d0)" (* "*") (pointer_expression "*(code **)(lVar1 + 0x1d0)" (* "*") (cast_expression "(code **)(lVar1 + 0x1d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar1 + 0x1d0)" (( "(") (binary_expression "lVar1 + 0x1d0" (identifier "lVar1") (+ "+") (number_literal "0x1d0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" (else "else") (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" ({ "{") (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" (identifier "cVar5") (= "=") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "lVar1 = param_1[2];" (assignment_expression "lVar1 = param_1[2]" (identifier "lVar1") (= "=") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar12 = *puVar9;" (assignment_expression "uVar12 = *puVar9" (identifier "uVar12") (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (expression_statement "uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;" (assignment_expression "uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (identifier "uVar10") (= "=") (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28" (binary_expression "uVar12 >> 0x38" (identifier "uVar12") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar12 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar12 & 0xff000000000000)" (( "(") (binary_expression "uVar12 & 0xff000000000000" (identifier "uVar12") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar12 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar12 & 0xff0000000000)" (( "(") (binary_expression "uVar12 & 0xff0000000000" (identifier "uVar12") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar12 & 0xff00000000) >> 8" (parenthesized_expression "(uVar12 & 0xff00000000)" (( "(") (binary_expression "uVar12 & 0xff00000000" (identifier "uVar12") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" (( "(") (binary_expression "uVar12 & 0xff000000" (identifier "uVar12") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" (( "(") (binary_expression "uVar12 & 0xff0000" (identifier "uVar12") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" (( "(") (binary_expression "uVar12 & 0xff00" (identifier "uVar12") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar12 << 0x38" (identifier "uVar12") (<< "<<") (number_literal "0x38")))) (; ";")) (if_statement "if (cVar5 == '\0') {\n            uVar10 = uVar12;\n          }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar10 = uVar12;\n          }" ({ "{") (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" (identifier "uVar10") (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (expression_statement "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);" (assignment_expression "pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18)" (identifier "pcVar3") (= "=") (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x18)" (* "*") (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x18)" (( "(") (binary_expression "**(long **)(*param_1 + 0x10) + 0x18" (pointer_expression "**(long **)(*param_1 + 0x10)" (* "*") (pointer_expression "*(long **)(*param_1 + 0x10)" (* "*") (cast_expression "(long **)(*param_1 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x10)" (( "(") (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (pcVar3 == FUN_0014c090) {\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }\n          else {\n            cVar5 = (*pcVar3)();\n          }" (if "if") (parenthesized_expression "(pcVar3 == FUN_0014c090)" (( "(") (binary_expression "pcVar3 == FUN_0014c090" (identifier "pcVar3") (== "==") (identifier "FUN_0014c090")) () ")")) (compound_statement "{\n            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();\n          }" ({ "{") (expression_statement "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();" (assignment_expression "cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (identifier "cVar5") (= "=") (call_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))()" (parenthesized_expression "(**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))" (( "(") (pointer_expression "**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" (* "*") (pointer_expression "*(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" (* "*") (cast_expression "(code **)(**(long **)(*param_1 + 0x10) + 0x1d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(long **)(*param_1 + 0x10) + 0x1d0)" (( "(") (binary_expression "**(long **)(*param_1 + 0x10) + 0x1d0" (pointer_expression "**(long **)(*param_1 + 0x10)" (* "*") (pointer_expression "*(long **)(*param_1 + 0x10)" (* "*") (cast_expression "(long **)(*param_1 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x10)" (( "(") (binary_expression "*param_1 + 0x10" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (number_literal "0x1d0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            cVar5 = (*pcVar3)();\n          }" (else "else") (compound_statement "{\n            cVar5 = (*pcVar3)();\n          }" ({ "{") (expression_statement "cVar5 = (*pcVar3)();" (assignment_expression "cVar5 = (*pcVar3)()" (identifier "cVar5") (= "=") (call_expression "(*pcVar3)()" (parenthesized_expression "(*pcVar3)" (( "(") (pointer_expression "*pcVar3" (* "*") (identifier "pcVar3")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar12 = *(ulong *)(lVar1 + 8 + param_7);" (assignment_expression "uVar12 = *(ulong *)(lVar1 + 8 + param_7)" (identifier "uVar12") (= "=") (pointer_expression "*(ulong *)(lVar1 + 8 + param_7)" (* "*") (cast_expression "(ulong *)(lVar1 + 8 + param_7)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 8 + param_7)" (( "(") (binary_expression "lVar1 + 8 + param_7" (binary_expression "lVar1 + 8" (identifier "lVar1") (+ "+") (number_literal "8")) (+ "+") (identifier "param_7")) () ")"))))) (; ";")) (expression_statement "plVar13 = (long *)param_1[5];" (assignment_expression "plVar13 = (long *)param_1[5]" (identifier "plVar13") (= "=") (cast_expression "(long *)param_1[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[5]" (identifier "param_1") ([ "[") (number_literal "5") (] "]")))) (; ";")) (expression_statement "uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;" (assignment_expression "uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (identifier "uVar11") (= "=") (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |\n                   (uVar12 & 0xff00) << 0x28" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |\n                   (uVar12 & 0xff000000) << 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |\n                   (uVar12 & 0xff0000000000) >> 0x18" (binary_expression "uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28" (binary_expression "uVar12 >> 0x38" (identifier "uVar12") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar12 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar12 & 0xff000000000000)" (( "(") (binary_expression "uVar12 & 0xff000000000000" (identifier "uVar12") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar12 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar12 & 0xff0000000000)" (( "(") (binary_expression "uVar12 & 0xff0000000000" (identifier "uVar12") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar12 & 0xff00000000) >> 8" (parenthesized_expression "(uVar12 & 0xff00000000)" (( "(") (binary_expression "uVar12 & 0xff00000000" (identifier "uVar12") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" (( "(") (binary_expression "uVar12 & 0xff000000" (identifier "uVar12") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" (( "(") (binary_expression "uVar12 & 0xff0000" (identifier "uVar12") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" (( "(") (binary_expression "uVar12 & 0xff00" (identifier "uVar12") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar12 << 0x38" (identifier "uVar12") (<< "<<") (number_literal "0x38")))) (; ";")) (if_statement "if (cVar5 == '\0') {\n            uVar11 = uVar12;\n          }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar11 = uVar12;\n          }" ({ "{") (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (; ";")) (} "}"))) (if_statement "if (plVar13 != (long *)0x0) goto LAB_00161889;" (if "if") (parenthesized_expression "(plVar13 != (long *)0x0)" (( "(") (binary_expression "plVar13 != (long *)0x0" (identifier "plVar13") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00161889;" (goto "goto") (statement_identifier "LAB_00161889") (; ";"))) (labeled_statement "LAB_00161a02:\n          uVar7 = 0;" (statement_identifier "LAB_00161a02") (: ":") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar12 = uVar11;" (assignment_expression "uVar12 = uVar11" (identifier "uVar12") (= "=") (identifier "uVar11")) (; ";")) (labeled_statement "LAB_00161a04:\n          if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" (statement_identifier "LAB_00161a04") (: ":") (if_statement "if (uVar10 == 0) {\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }\n          else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            if (uVar12 == 0) {\n              return local_68;\n            }\nLAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;\nLAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);\n            uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );\n            FUN_00169150(uVar8,uVar4);\n            uVar11 = local_60;\n          }" ({ "{") (if_statement "if (uVar12 == 0) {\n              return local_68;\n            }" (if "if") (parenthesized_expression "(uVar12 == 0)" (( "(") (binary_expression "uVar12 == 0" (identifier "uVar12") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              return local_68;\n            }" ({ "{") (return_statement "return local_68;" (return "return") (identifier "local_68") (; ";")) (} "}"))) (labeled_statement "LAB_00161a12:\n            if (uVar7 == 0) goto LAB_00161930;" (statement_identifier "LAB_00161a12") (: ":") (if_statement "if (uVar7 == 0) goto LAB_00161930;" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00161930;" (goto "goto") (statement_identifier "LAB_00161930") (; ";")))) (labeled_statement "LAB_00161a1a:\n            uVar4 = *(undefined8 *)(param_2 + 8);" (statement_identifier "LAB_00161a1a") (: ":") (expression_statement "uVar4 = *(undefined8 *)(param_2 + 8);" (assignment_expression "uVar4 = *(undefined8 *)(param_2 + 8)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined8 *)(param_2 + 8)" (* "*") (cast_expression "(undefined8 *)(param_2 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (expression_statement "uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           );" (assignment_expression "uVar8 = gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" (identifier "uVar8") (= "=") (call_expression "gettext(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" (identifier "gettext") (argument_list "(\n                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"\n                           )" (( "(") (string_literal ""%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"" (" """) (string_content "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections") (" """)) () ")")))) (; ";")) (expression_statement "FUN_00169150(uVar8,uVar4);" (call_expression "FUN_00169150(uVar8,uVar4)" (identifier "FUN_00169150") (argument_list "(uVar8,uVar4)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "uVar11 = local_60;" (assignment_expression "uVar11 = local_60" (identifier "uVar11") (= "=") (identifier "local_60")) (; ";")) (} "}")) (else_clause "else {\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" (else "else") (compound_statement "{\n            uVar11 = uVar12;\n            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;\n          }" ({ "{") (expression_statement "uVar11 = uVar12;" (assignment_expression "uVar11 = uVar12" (identifier "uVar11") (= "=") (identifier "uVar12")) (; ";")) (if_statement "if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;" (if "if") (parenthesized_expression "(uVar10 != 0xffffffffffffffff)" (( "(") (binary_expression "uVar10 != 0xffffffffffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffffffffffff")) () ")")) (goto_statement "goto LAB_00161a12;" (goto "goto") (statement_identifier "LAB_00161a12") (; ";"))) (} "}"))))) (} "}")))) (labeled_statement "LAB_00161977:\n        local_60 = uVar11;" (statement_identifier "LAB_00161977") (: ":") (expression_statement "local_60 = uVar11;" (assignment_expression "local_60 = uVar11" (identifier "local_60") (= "=") (identifier "uVar11")) (; ";"))) (expression_statement "param_7 = param_7 + (ulong)(param_5 * 2);" (assignment_expression "param_7 = param_7 + (ulong)(param_5 * 2)" (identifier "param_7") (= "=") (binary_expression "param_7 + (ulong)(param_5 * 2)" (identifier "param_7") (+ "+") (call_expression "(ulong)(param_5 * 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_5 * 2)" (( "(") (binary_expression "param_5 * 2" (identifier "param_5") (* "*") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "puVar9 = (ulong *)(param_1[2] + param_7);" (assignment_expression "puVar9 = (ulong *)(param_1[2] + param_7)" (identifier "puVar9") (= "=") (cast_expression "(ulong *)(param_1[2] + param_7)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[2] + param_7)" (( "(") (binary_expression "param_1[2] + param_7" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (+ "+") (identifier "param_7")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar9 < (ulong *)param_1[3])" (( "(") (binary_expression "puVar9 < (ulong *)param_1[3]" (identifier "puVar9") (< "<") (cast_expression "(ulong *)param_1[3]" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) () ")")) (; ";")) (} "}"))) (} "}")))) (return_statement "return local_68;" (return "return") (identifier "local_68") (; ";")) (} "}")))

/* DWARF original prototype: Dwarf_range_list * read_range_list(Dwarf_ranges_table * this, Relobj *
   object, uchar * symtab, off_t symtab_size, uint addr_size, uint ranges_shndx, off_t offset) */

type_9 * __thiscall
var_20::Dwarf_ranges_table::read_range_list
          (Dwarf_ranges_table *this,var_11 *object,type_1 *symtab,type_10 symtab_size,type_5 var_9,
          type_5 ranges_shndx,type_10 var_2)

{
  type_1 *var_6;
  type_2 ppOVar2;
  type_3 __position;
  type_4 **pp_Var3;
  type_4 *var_10;
  type_2 pcVar5;
  bool bVar6;
  char var_12;
  type_5 var_13;
  int iVar9;
  type_5 var_15;
  char *format;
  type_6 return_value_2;
  type_7 *var_8;
  type_7 var_19;
  type_6 return_value_3;
  type_7 var_18;
  type_7 var_17;
  type_8 *var_14;
  long var_7;
  type_9 *local_68;
  type_7 var_23;
  type_10 value;
  long lStack_50;
  long local_48;
  
  bVar6 = var_1(this,object,symtab,symtab_size,ranges_shndx);
  if (bVar6) {
    var_7 = var_2 - this->output_section_offset_;
    local_68 = (type_9 *)var_3(0x18);
    var_6 = this->ranges_buffer_;
    (local_68->range_list_).
    super__Vector_base<var_20::Dwarf_range_list::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>
    ._M_impl._M_start = (type_2)0x0;
    var_8 = (type_7 *)(var_6 + var_7);
    (local_68->range_list_).
    super__Vector_base<var_20::Dwarf_range_list::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>
    ._M_impl._M_finish = (type_2)0x0;
    (local_68->range_list_).
    super__Vector_base<var_20::Dwarf_range_list::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>
    ._M_impl._M_end_of_storage = (type_2)0x0;
    if (var_8 < this->ranges_buffer_end_) {
      var_23 = 0;
      do {
        pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;
        var_10 = pp_Var3[3];
        if (var_9 == 4) {
          if (var_10 == var_11::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            var_12 = (char)iVar9;
          }
          else {
            iVar9 = (*var_10)();
            var_12 = (char)iVar9;
          }
          var_6 = this->ranges_buffer_;
          var_13 = (type_5)*var_8;
          if (var_12 != '\0') {
            var_13 = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18;
          }
          var_19 = (type_7)var_13;
          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;
          var_10 = pp_Var3[3];
          if (var_10 == var_11::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            var_12 = (char)iVar9;
          }
          else {
            iVar9 = (*var_10)();
            var_12 = (char)iVar9;
          }
          var_13 = *(type_5 *)(var_6 + var_7 + 4);
          var_14 = this->ranges_reloc_mapper_;
          if (var_12 != '\0') {
            var_13 = var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18;
          }
          var_18 = (type_7)var_13;
          if (var_14 == (type_8 *)0x0) goto LAB_00161a02;
LAB_00161889:
          var_13 = (*var_14->_vptr_Elf_reloc_mapper[5])(var_14,var_7,(var_4 *)&value);
          if (var_13 == 0) {
            var_15 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])
                               (this->ranges_reloc_mapper_,(type_7)var_9 + var_7,(var_4 *)&value
                               );
            var_17 = var_18;
            if ((var_15 != 0) &&
               (var_17 = var_16(value._4_4_,(type_5)value), this->reloc_type_ == 9)) {
LAB_00161a8e:
              var_17 = var_17 + var_18;
              if (var_13 != 0) goto LAB_001618f5;
            }
            goto LAB_00161a04;
          }
          var_17 = var_16(value._4_4_,(type_5)value);
          if (this->reloc_type_ == 9) {
            var_17 = var_16(value._4_4_,(type_5)value) + var_19;
          }
          var_19 = var_17;
          var_15 = (*this->ranges_reloc_mapper_->_vptr_Elf_reloc_mapper[5])
                             (this->ranges_reloc_mapper_,(type_7)var_9 + var_7,(var_4 *)&value);
          if (var_15 == 0) goto LAB_00161a1a;
          var_17 = var_16(value._4_4_,(type_5)value);
          if (this->reloc_type_ == 9) goto LAB_00161a8e;
LAB_001618f5:
          if (var_15 != var_13) goto LAB_00161a1a;
          ppOVar2 = (object->output_sections_).
                    super__Vector_base<var_20::type_11*,var_21::allocator<var_20::type_11*>var_5>
                    ._M_impl._M_start;
          if ((type_7)((long)(object->output_sections_).
                            super__Vector_base<var_20::type_11*,var_21::allocator<var_20::type_11*>var_5>
                            ._M_impl._M_finish - (long)ppOVar2 >> 3) <= (type_7)var_15) {
                    /* WARNING: Subroutine does not return */
            var_22("../../gold/object.h",0x50b,"is_section_included");
          }
          var_18 = var_23;
          if (ppOVar2[var_15] == (type_11 *)0x0) goto LAB_00161977;
LAB_00161930:
          lStack_50 = var_19 + var_23;
          local_48 = var_17 + var_23;
          __position._M_current =
               (local_68->range_list_).
               super__Vector_base<var_20::type_9::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>
               ._M_impl._M_finish;
          value._0_4_ = var_15;
          if (__position._M_current ==
              (local_68->range_list_).
              super__Vector_base<var_20::type_9::var_4,var_21::allocator<var_20::type_9::var_4>var_5>
              ._M_impl._M_end_of_storage) {
            std::
            vector<var_20::Dwarf_range_list::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>::
            _M_realloc_insert<var_20::Dwarf_range_list::var_4>
                      ((vector<var_20::Dwarf_range_list::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>
                        *)local_68,__position,(var_4 *)&value);
            var_18 = var_23;
          }
          else {
            *(type_7 *)__position._M_current = var_16(value._4_4_,var_15);
            (__position._M_current)->start = lStack_50;
            (__position._M_current)->end = local_48;
            (local_68->range_list_).
            super__Vector_base<var_20::Dwarf_range_list::var_4,var_21::allocator<var_20::Dwarf_range_list::var_4>var_5>
            ._M_impl._M_finish = __position._M_current + 1;
            var_18 = var_23;
          }
        }
        else {
          if (var_10 == var_11::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            var_12 = (char)iVar9;
          }
          else {
            iVar9 = (*var_10)();
            var_12 = (char)iVar9;
          }
          var_6 = this->ranges_buffer_;
          var_17 = *var_8;
          var_19 = var_17 >> 0x38 | (var_17 & 0xff000000000000) >> 0x28 |
                   (var_17 & 0xff0000000000) >> 0x18 | (var_17 & 0xff00000000) >> 8 |
                   (var_17 & 0xff000000) << 8 | (var_17 & 0xff0000) << 0x18 |
                   (var_17 & 0xff00) << 0x28 | var_17 << 0x38;
          if (var_12 == '\0') {
            var_19 = var_17;
          }
          pp_Var3 = (this->dwinfo_->object_->super_Object)._vptr_Object;
          var_10 = pp_Var3[3];
          if (var_10 == var_11::is_big_endian) {
            iVar9 = (*pp_Var3[0x3a])();
            var_12 = (char)iVar9;
          }
          else {
            iVar9 = (*var_10)();
            var_12 = (char)iVar9;
          }
          var_17 = *(type_7 *)(var_6 + var_7 + 8);
          var_14 = this->ranges_reloc_mapper_;
          var_18 = var_17 >> 0x38 | (var_17 & 0xff000000000000) >> 0x28 |
                   (var_17 & 0xff0000000000) >> 0x18 | (var_17 & 0xff00000000) >> 8 |
                   (var_17 & 0xff000000) << 8 | (var_17 & 0xff0000) << 0x18 |
                   (var_17 & 0xff00) << 0x28 | var_17 << 0x38;
          if (var_12 == '\0') {
            var_18 = var_17;
          }
          if (var_14 != (type_8 *)0x0) goto LAB_00161889;
LAB_00161a02:
          var_15 = 0;
          var_17 = var_18;
LAB_00161a04:
          if (var_19 == 0) {
            if (var_17 == 0) {
              return local_68;
            }
LAB_00161a12:
            if (var_15 == 0) goto LAB_00161930;
LAB_00161a1a:
            pcVar5 = (object->super_Object).name_._M_dataplus._M_p;
            format = (char *)var_24(
                                    "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"
                                    );
            var_25(format,pcVar5);
            var_18 = var_23;
          }
          else {
            var_18 = var_17;
            if (var_19 != 0xffffffffffffffff) goto LAB_00161a12;
          }
        }
LAB_00161977:
        var_23 = var_18;
        var_7 = var_7 + (type_7)(var_9 * 2);
        var_8 = (type_7 *)(this->ranges_buffer_ + var_7);
      } while (var_8 < this->ranges_buffer_end_);
    }
  }
  else {
    local_68 = (type_9 *)0x0;
  }
  return local_68;
}


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

undefined8 *
MASKED(long *param_1,long param_2,undefined8 param_3,undefined8 param_4,uint param_5,
            undefined8 param_6,long param_7)

{
  long lVar1;
  undefined8 *puVar2;
  code *pcVar3;
  undefined8 uVar4;
  char cVar5;
  uint uVar6;
  uint uVar7;
  undefined8 uVar8;
  ulong *puVar9;
  ulong uVar10;
  ulong uVar11;
  ulong uVar12;
  long *plVar13;
  undefined8 *local_68;
  ulong local_60;
  uint local_58;
  undefined4 uStack_54;
  long lStack_50;
  long local_48;
  
  cVar5 = FUN_0015f3e0();
  if (cVar5 == '\0') {
    local_68 = (undefined8 *)0x0;
  }
  else {
    param_7 = param_7 - param_1[7];
    local_68 = (undefined8 *)FUN_00275550(0x18);
    lVar1 = param_1[2];
    *local_68 = 0;
    puVar9 = (ulong *)(lVar1 + param_7);
    local_68[1] = 0;
    local_68[2] = 0;
    if (puVar9 < (ulong *)param_1[3]) {
      local_60 = 0;
      do {
        lVar1 = **(long **)(*param_1 + 0x10);
        pcVar3 = *(code **)(lVar1 + 0x18);
        if (param_5 == 4) {
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(lVar1 + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          lVar1 = param_1[2];
          uVar6 = (uint)*puVar9;
          if (cVar5 != '\0') {
            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
          }
          uVar10 = (ulong)uVar6;
          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          uVar6 = *(uint *)(lVar1 + 4 + param_7);
          plVar13 = (long *)param_1[5];
          if (cVar5 != '\0') {
            uVar6 = uVar6 >> 0x18 | (uVar6 & 0xff0000) >> 8 | (uVar6 & 0xff00) << 8 | uVar6 << 0x18;
          }
          uVar11 = (ulong)uVar6;
          if (plVar13 == (long *)0x0) goto LAB_00161a02;
LAB_00161889:
          uVar6 = (**(code **)(*plVar13 + 0x28))(plVar13,param_7,&local_58);
          if (uVar6 == 0) {
            uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))
                              ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);
            uVar12 = uVar11;
            if ((uVar7 != 0) && (uVar12 = CONCAT44(uStack_54,local_58), (int)param_1[6] == 9)) {
LAB_00161a8e:
              uVar12 = uVar12 + uVar11;
              if (uVar6 != 0) goto LAB_001618f5;
            }
            goto LAB_00161a04;
          }
          uVar12 = CONCAT44(uStack_54,local_58);
          if ((int)param_1[6] == 9) {
            uVar12 = CONCAT44(uStack_54,local_58) + uVar10;
          }
          uVar10 = uVar12;
          uVar7 = (**(code **)(*(long *)param_1[5] + 0x28))
                            ((long *)param_1[5],(ulong)param_5 + param_7,&local_58);
          if (uVar7 == 0) goto LAB_00161a1a;
          uVar12 = CONCAT44(uStack_54,local_58);
          if ((int)param_1[6] == 9) goto LAB_00161a8e;
LAB_001618f5:
          if (uVar7 != uVar6) goto LAB_00161a1a;
          if ((ulong)(*(long *)(param_2 + 0x58) - *(long *)(param_2 + 0x50) >> 3) <= (ulong)uVar7) {
                    /* WARNING: Subroutine does not return */
            FUN_0016cdf0("../../gold/object.h",0x50b,"is_section_included");
          }
          uVar11 = local_60;
          if (*(long *)(*(long *)(param_2 + 0x50) + (ulong)uVar7 * 8) == 0) goto LAB_00161977;
LAB_00161930:
          lStack_50 = uVar10 + local_60;
          local_48 = uVar12 + local_60;
          puVar2 = (undefined8 *)local_68[1];
          local_58 = uVar7;
          if (puVar2 == (undefined8 *)local_68[2]) {
            FUN_001634e0(local_68,puVar2,&local_58);
            uVar11 = local_60;
          }
          else {
            *puVar2 = CONCAT44(uStack_54,uVar7);
            puVar2[1] = lStack_50;
            puVar2[2] = local_48;
            local_68[1] = puVar2 + 3;
            uVar11 = local_60;
          }
        }
        else {
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(lVar1 + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          lVar1 = param_1[2];
          uVar12 = *puVar9;
          uVar10 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |
                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |
                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |
                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;
          if (cVar5 == '\0') {
            uVar10 = uVar12;
          }
          pcVar3 = *(code **)(**(long **)(*param_1 + 0x10) + 0x18);
          if (pcVar3 == FUN_0014c090) {
            cVar5 = (**(code **)(**(long **)(*param_1 + 0x10) + 0x1d0))();
          }
          else {
            cVar5 = (*pcVar3)();
          }
          uVar12 = *(ulong *)(lVar1 + 8 + param_7);
          plVar13 = (long *)param_1[5];
          uVar11 = uVar12 >> 0x38 | (uVar12 & 0xff000000000000) >> 0x28 |
                   (uVar12 & 0xff0000000000) >> 0x18 | (uVar12 & 0xff00000000) >> 8 |
                   (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 |
                   (uVar12 & 0xff00) << 0x28 | uVar12 << 0x38;
          if (cVar5 == '\0') {
            uVar11 = uVar12;
          }
          if (plVar13 != (long *)0x0) goto LAB_00161889;
LAB_00161a02:
          uVar7 = 0;
          uVar12 = uVar11;
LAB_00161a04:
          if (uVar10 == 0) {
            if (uVar12 == 0) {
              return local_68;
            }
LAB_00161a12:
            if (uVar7 == 0) goto LAB_00161930;
LAB_00161a1a:
            uVar4 = *(undefined8 *)(param_2 + 8);
            uVar8 = gettext(
                           "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"
                           );
            FUN_00169150(uVar8,uVar4);
            uVar11 = local_60;
          }
          else {
            uVar11 = uVar12;
            if (uVar10 != 0xffffffffffffffff) goto LAB_00161a12;
          }
        }
LAB_00161977:
        local_60 = uVar11;
        param_7 = param_7 + (ulong)(param_5 * 2);
        puVar9 = (ulong *)(param_1[2] + param_7);
      } while (puVar9 < (ulong *)param_1[3]);
    }
  }
  return local_68;
}

