
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_layout_deferred_sections(Sized_relobj_file<32,_false> * this,
   Layout * layout) */

void __thiscall
gold::Sized_relobj_file<32,_false>::do_layout_deferred_sections
          (Sized_relobj_file<32,_false> *this,Layout *layout)

{
  uint uVar1;
  uint uVar2;
  pointer pDVar3;
  pointer pDVar4;
  pointer pcVar5;
  File_view *pFVar6;
  bool bVar7;
  int iVar8;
  General_options *pGVar9;
  Relocatable_relocs *rr;
  Output_section *pOVar10;
  pointer ppOVar11;
  Layout *pLVar12;
  ulong uVar13;
  pointer pDVar14;
  pointer local_d0;
  Shdr shdr;
  Read_symbols_data sd;
  
  local_d0 = (this->deferred_layout_).
             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
             ._M_impl._M_start;
  if (local_d0 !=
      (this->deferred_layout_).
      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
      ._M_impl._M_finish) {
    shdr.p_ = (Shdr_data<32> *)local_d0->shdr_data_;
    pGVar9 = parameters->options_;
    if (pGVar9 != (General_options *)0x0) {
      do {
        if ((((pGVar9->relocatable_).value == false) &&
            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&
           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {
          sd.section_headers = (File_view *)0x0;
          sd.section_names = (File_view *)0x0;
          sd.symbols = (File_view *)0x0;
          sd.symbol_names = (File_view *)0x0;
          sd.versym = (File_view *)0x0;
          sd.verdef = (File_view *)0x0;
          sd.verneed = (File_view *)0x0;
                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */
          base_read_symbols(this,&sd);
          pLVar12 = layout;
          layout_eh_frame_section
                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,
                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,
                     local_d0->reloc_type_);
          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);
        }
        else {
          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                     ._M_impl._M_start;
          uVar13 = (ulong)local_d0->shndx_;
          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar11[uVar13] != (Output_section *)0x0) {
            uVar1 = local_d0->reloc_shndx_;
            pOVar10 = Layout::layout<32,_false>
                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,
                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);
            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
            _M_impl._M_start[uVar13] = pOVar10;
            if (sd.section_headers == (File_view *)0xffffffffffffffff) {
              (this->super_Sized_relobj<32,_false>).section_offsets_.
              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
              [uVar13] = (uint)sd.section_headers;
              if (uVar1 != 0) {
                (this->super_Sized_relobj<32,_false>).super_Relobj.
                relocs_must_follow_section_writes_ = true;
              }
            }
            else {
              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
              }
              (this->super_Sized_relobj<32,_false>).section_offsets_.
              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
              [uVar13] = (uint)sd.section_headers;
            }
          }
        }
        pDVar3 = (this->deferred_layout_).
                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
                 ._M_impl._M_finish;
        if (local_d0 + 1 == pDVar3) {
          pDVar4 = (this->deferred_layout_).
                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
                   ._M_impl._M_start;
          pDVar14 = pDVar4;
          if (pDVar3 != pDVar4) {
            do {
              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;
              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                   *)pcVar5 != &(pDVar14->name_).field_2) {
                operator_delete(pcVar5);
              }
              pDVar14 = pDVar14 + 1;
            } while (pDVar3 != pDVar14);
            (this->deferred_layout_).
            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
            ._M_impl._M_finish = pDVar4;
          }
          goto LAB_001e3b95;
        }
        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;
        pGVar9 = parameters->options_;
        local_d0 = local_d0 + 1;
      } while (pGVar9 != (General_options *)0x0);
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
LAB_001e3b95:
  pDVar3 = (this->deferred_layout_relocs_).
           super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
           ._M_impl._M_start;
  local_d0 = (pointer)pDVar3->shdr_data_;
  if (pDVar3 != (this->deferred_layout_relocs_).
                super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
                ._M_impl._M_finish) {
    do {
      sd.section_headers = (File_view *)local_d0;
      uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);
      uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);
      if (uVar1 < 0xff00) {
        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                   ._M_impl._M_start;
        pOVar10 = ppOVar11[uVar1];
        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;
LAB_001e3be1:
        rr = (Relocatable_relocs *)operator_new(0x28);
        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.
        _M_impl._M_start = (pointer)0x0;
        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.
        _M_impl._M_finish = (pointer)0x0;
        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.
        _M_impl._M_end_of_storage = (pointer)0x0;
        rr->output_reloc_count_ = 0;
        rr->posd_ = (Output_data *)0x0;
        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");
        }
        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->
        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).
        _M_impl._M_start[uVar2] = rr;
        pOVar10 = Layout::layout_reloc<32,_false>
                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);
        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
        _M_start[uVar2] = pOVar10;
        (this->super_Sized_relobj<32,_false>).section_offsets_.
        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =
             0xffffffff;
      }
      else {
        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);
        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                   ._M_impl._M_start;
        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];
        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;
LAB_001e3cc2:
        ppOVar11[uVar2] = (Output_section *)0x0;
        (this->super_Sized_relobj<32,_false>).section_offsets_.
        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =
             0xffffffff;
      }
      pFVar6 = (File_view *)((long)local_d0 + 0x18);
      local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;
    } while ((this->deferred_layout_relocs_).
             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>
             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4));
  }
  return;
}



void FUN_001e3900(long param_1,undefined8 param_2)

{
  uint uVar1;
  uint uVar2;
  undefined8 *puVar3;
  char cVar4;
  int iVar5;
  long lVar6;
  undefined8 *puVar7;
  undefined8 uVar8;
  ulong *puVar9;
  ulong *extraout_RDX;
  ulong *puVar10;
  long lVar11;
  undefined8 *puVar12;
  ulong uVar13;
  undefined8 *local_d0;
  long local_c0;
  ulong local_b8 [3];
  long local_a0;
  undefined8 local_98;
  long local_88;
  undefined8 local_80;
  undefined8 local_78;
  undefined8 local_68;
  undefined8 local_50;
  
  local_d0 = *(undefined8 **)(param_1 + 0x1e8);
  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {
    local_c0 = (long)local_d0 + 0x2c;
    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    if (lVar6 != 0) {
      puVar9 = local_b8;
      do {
        if (((*(char *)(lVar6 + 0x5051) == '\0') &&
            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&
           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {
          local_b8[0] = 0;
          local_b8[1] = 0;
          local_a0 = 0;
          local_88 = 0;
          local_78 = 0;
          local_68 = 0;
          local_50 = 0;
                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */
          FUN_001e3660(param_1,local_b8);
          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,
                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),
                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),
                       *(undefined4 *)(local_d0 + 5));
          FUN_001bd060(local_b8);
          puVar9 = extraout_RDX;
        }
        else {
          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);
          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");
          }
          puVar9 = puVar10;
          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {
            iVar5 = *(int *)((long)local_d0 + 0x24);
            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,
                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),
                                 local_b8);
            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;
            if (local_b8[0] == 0xffffffffffffffff) {
              puVar9 = *(ulong **)(param_1 + 0xe0);
              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];
              if (iVar5 != 0) {
                *(undefined1 *)(param_1 + 0x78) = 1;
              }
            }
            else {
              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));
              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");
              }
              *(int *)puVar9 = (int)local_b8[0];
            }
          }
        }
        puVar7 = *(undefined8 **)(param_1 + 0x1f0);
        if (local_d0 + 0xb == puVar7) {
          puVar3 = *(undefined8 **)(param_1 + 0x1e8);
          puVar12 = puVar3;
          if (puVar7 != puVar3) {
            do {
              if ((undefined8 *)*puVar12 != puVar12 + 2) {
                FUN_002dac60();
              }
              puVar12 = puVar12 + 0xb;
            } while (puVar7 != puVar12);
            *(undefined8 **)(param_1 + 0x1f0) = puVar3;
          }
          goto LAB_001e3b95;
        }
        local_c0 = (long)local_d0 + 0x84;
        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
        local_d0 = local_d0 + 0xb;
      } while (lVar6 != 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
LAB_001e3b95:
  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);
  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {
    do {
      local_b8[0] = (ulong)local_d0;
      uVar1 = *(uint *)((long)local_d0 + 0x1c);
      uVar2 = *(uint *)((long)local_d0 - 0xc);
      uVar13 = (ulong)uVar2;
      if (uVar1 < 0xff00) {
        lVar6 = *(long *)(param_1 + 0x50);
        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);
        if (lVar11 == 0) goto LAB_001e3cc2;
LAB_001e3be1:
        puVar7 = (undefined8 *)FUN_002d9490(0x28);
        *puVar7 = 0;
        puVar7[1] = 0;
        puVar7[2] = 0;
        puVar7[3] = 0;
        puVar7[4] = 0;
        if (*(uint *)(param_1 + 0x38) <= uVar2) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");
        }
        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;
        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);
        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;
        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;
      }
      else {
        FUN_00167570(param_1 + 0xf8);
        lVar6 = *(long *)(param_1 + 0x50);
        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);
        if (lVar11 != 0) goto LAB_001e3be1;
LAB_001e3cc2:
        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;
        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;
      }
      lVar6 = (long)local_d0 + 0x2c;
      local_d0 = (undefined8 *)((long)local_d0 + 0x58);
    } while (*(long *)(param_1 + 0x208) != lVar6);
  }
  return;
}


PUSH RBP
MOV RBP,RSP
PUSH R15
PUSH R14
PUSH R13
PUSH R12
MOV R12,RSI
PUSH RBX
MOV RBX,RDI
SUB RSP,0xa8
MOV RAX,qword ptr [RDI + 0x1e8]
MOV qword ptr [RBP + -0xc8],RAX
CMP RAX,qword ptr [RDI + 0x1f0]
JZ 0x001e3b95
ADD RAX,0x2c
MOV qword ptr [RBP + -0xb8],RAX
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001e3cef
LEA RDX,[RBP + -0xb0]
LEA R13,[RBP + -0xb8]
MOV qword ptr [RBP + -0xd0],RDX
JMP 0x001e3a52
MOV RAX,qword ptr [RBP + -0xc8]
MOV RCX,qword ptr [RBX + 0x50]
MOV R14D,dword ptr [RAX + 0x20]
MOV RAX,qword ptr [RBX + 0x58]
SUB RAX,RCX
MOV RDX,R14
SAR RAX,0x3
CMP R14,RAX
JNC 0x001e3d07
CMP qword ptr [RCX + R14*0x8],0x0
JZ 0x001e3a0d
MOV RSI,qword ptr [RBP + -0xc8]
MOV RAX,qword ptr [RBP + -0xb8]
MOV R8,R13
MOV RDI,R12
SUB RSP,0x8
MOV R15D,dword ptr [RSI + 0x24]
MOV R9D,dword ptr [RAX + 0x4]
PUSH qword ptr [RBP + -0xd0]
MOV EAX,dword ptr [RSI + 0x28]
PUSH RAX
PUSH R15
MOV RCX,qword ptr [RSI]
MOV RSI,RBX
CALL 0x001ba1a0
MOV RDX,qword ptr [RBX + 0x50]
ADD RSP,0x20
MOV qword ptr [RDX + R14*0x8],RAX
MOV RAX,qword ptr [RBP + -0xb0]
LEA RDX,[R14*0x4]
CMP RAX,-0x1
JZ 0x001e3b30
MOV ECX,EAX
ADD RDX,qword ptr [RBX + 0xe0]
CMP RAX,RCX
JNZ 0x001e3d37
MOV dword ptr [RDX],EAX
ADD qword ptr [RBP + -0xc8],0x58
MOV RAX,qword ptr [RBX + 0x1f0]
MOV RSI,qword ptr [RBP + -0xc8]
CMP RSI,RAX
JZ 0x001e3b50
MOV RAX,qword ptr [RBP + -0xc8]
ADD RAX,0x2c
MOV qword ptr [RBP + -0xb8],RAX
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x001e3cef
CMP byte ptr [RAX + 0x5051],0x0
JNZ 0x001e3970
MOV RDI,qword ptr [RBP + -0xc8]
LEA RSI,[0x3762fd]
CALL 0x002e3a40
TEST EAX,EAX
JNZ 0x001e3970
MOV RSI,R13
MOV RDI,RBX
CALL 0x001c1c80
TEST AL,AL
JZ 0x001e3970
MOV RSI,qword ptr [RBP + -0xd0]
MOV RDI,RBX
MOV qword ptr [RBP + -0xb0],0x0
MOV qword ptr [RBP + -0xa8],0x0
MOV qword ptr [RBP + -0x98],0x0
MOV qword ptr [RBP + -0x80],0x0
MOV qword ptr [RBP + -0x70],0x0
MOV qword ptr [RBP + -0x60],0x0
MOV qword ptr [RBP + -0x48],0x0
CALL 0x001e3660
MOV RAX,qword ptr [RBP + -0x80]
MOV R9,qword ptr [RBP + -0x78]
MOV RSI,R12
MOV RDI,qword ptr [RBP + -0xc8]
MOV RCX,qword ptr [RBP + -0x90]
MOV R8,qword ptr [RAX + 0x10]
MOV RAX,qword ptr [RBP + -0x98]
MOV RDX,qword ptr [RAX + 0x10]
MOV EAX,dword ptr [RDI + 0x28]
PUSH RAX
MOV EAX,dword ptr [RDI + 0x24]
PUSH RAX
PUSH R13
MOV EAX,dword ptr [RDI + 0x20]
MOV RDI,RBX
PUSH RAX
CALL 0x001c1df0
MOV RDI,qword ptr [RBP + -0xd0]
ADD RSP,0x20
CALL 0x001bd060
JMP 0x001e3a0d
MOV RDX,qword ptr [RBX + 0xe0]
MOV dword ptr [RDX + R14*0x4],EAX
TEST R15D,R15D
JZ 0x001e3a0d
MOV byte ptr [RBX + 0x78],0x1
JMP 0x001e3a0d
MOV R13,qword ptr [RBX + 0x1e8]
CMP RAX,R13
JZ 0x001e3b95
MOV R15,R13
NOP
MOV RDI,qword ptr [R15]
LEA RDX,[R15 + 0x10]
CMP RDI,RDX
JZ 0x001e3b7f
MOV qword ptr [RBP + -0xc8],RAX
CALL 0x002dac60
MOV RAX,qword ptr [RBP + -0xc8]
MOV RDX,R15
ADD RDX,0x58
MOV R15,RDX
CMP RAX,RDX
JNZ 0x001e3b60
MOV qword ptr [RBX + 0x1f0],R13
MOV RAX,qword ptr [RBX + 0x200]
LEA RDX,[RAX + 0x2c]
MOV qword ptr [RBP + -0xc8],RDX
LEA RDX,[RBP + -0xb0]
MOV qword ptr [RBP + -0xd0],RDX
CMP RAX,qword ptr [RBX + 0x208]
JNZ 0x001e3c7b
JMP 0x001e3ce0
MOV RAX,qword ptr [RBX + 0x50]
MOV R14,qword ptr [RAX + R13*0x8]
TEST R14,R14
JZ 0x001e3cc2
MOV EDI,0x28
CALL 0x002d9490
MOV R9,RAX
MOV qword ptr [RAX],0x0
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV qword ptr [RAX + 0x18],0x0
MOV qword ptr [RAX + 0x20],0x0
CMP R15D,dword ptr [RBX + 0x38]
JNC 0x001e3d1f
MOV RAX,qword ptr [RBX + 0x68]
MOV R13D,R15D
MOV EDX,R15D
MOV R8,R14
MOV RCX,qword ptr [RBP + -0xd0]
MOV RSI,RBX
MOV RDI,R12
MOV RAX,qword ptr [RAX]
MOV qword ptr [RAX + R13*0x8],R9
CALL 0x001b2340
MOV RDX,qword ptr [RBX + 0x50]
MOV qword ptr [RDX + R13*0x8],RAX
MOV RAX,qword ptr [RBX + 0xe0]
MOV dword ptr [RAX + R13*0x4],0xffffffff
MOV RDI,qword ptr [RBP + -0xc8]
LEA RAX,[RDI + 0x58]
LEA RCX,[RDI + 0x2c]
CMP qword ptr [RBX + 0x208],RCX
JZ 0x001e3ce0
MOV qword ptr [RBP + -0xc8],RAX
MOV RAX,qword ptr [RBP + -0xc8]
MOV R13D,dword ptr [RAX + 0x1c]
MOV R15D,dword ptr [RAX + -0xc]
MOV qword ptr [RBP + -0xb0],RAX
CMP R13D,0xfeff
JBE 0x001e3bd0
LEA RDI,[RBX + 0xf8]
CALL 0x00167570
MOV RAX,qword ptr [RBX + 0x50]
ADD R13D,dword ptr [RBX + 0x110]
MOV R14,qword ptr [RAX + R13*0x8]
TEST R14,R14
JNZ 0x001e3be1
MOV qword ptr [RAX + R15*0x8],0x0
MOV RAX,qword ptr [RBX + 0xe0]
MOV dword ptr [RAX + R15*0x4],0xffffffff
JMP 0x001e3c5c
LEA RSP,[RBP + -0x28]
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
LEA RDX,[0x379870]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x379470]
MOV ESI,0x50b
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x379490]
MOV ESI,0x541
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x379288]
MOV ESI,0xc0
LEA RDI,[0x3734af]
CALL 0x0017c650
(translation_unit "void FUN_001e3900(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}\n\n" (function_definition "void FUN_001e3900(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001e3900(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "ulong *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "ulong *extraout_RDX;" type_identifier (pointer_declarator "*extraout_RDX" * identifier) ;) (declaration "ulong *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "undefined8 *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "long local_c0;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_b8 [3];" type_identifier (array_declarator "local_b8 [3]" identifier [ number_literal ]) ;) (declaration "long local_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "long local_88;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (expression_statement "local_d0 = *(undefined8 **)(param_1 + 0x1e8);" (assignment_expression "local_d0 = *(undefined8 **)(param_1 + 0x1e8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x1e8)" * (cast_expression "(undefined8 **)(param_1 + 0x1e8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) ))))) ;) (if_statement "if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(local_d0 != *(undefined8 **)(param_1 + 0x1f0))" ( (binary_expression "local_d0 != *(undefined8 **)(param_1 + 0x1f0)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" * (cast_expression "(undefined8 **)(param_1 + 0x1f0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) )) (compound_statement "{\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "local_c0 = (long)local_d0 + 0x2c;" (assignment_expression "local_c0 = (long)local_d0 + 0x2c" identifier = (binary_expression "(long)local_d0 + 0x2c" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal)) ;) (expression_statement "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }" if (parenthesized_expression "(lVar6 != 0)" ( (binary_expression "lVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }" { (expression_statement "puVar9 = local_b8;" (assignment_expression "puVar9 = local_b8" identifier = identifier) ;) (do_statement "do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);" do (compound_statement "{\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      }" { (if_statement "if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" if (parenthesized_expression "(((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0'))" ( (binary_expression "((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')" (parenthesized_expression "((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0))" ( (binary_expression "(*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)" (parenthesized_expression "(*(char *)(lVar6 + 0x5051) == '\0')" ( (binary_expression "*(char *)(lVar6 + 0x5051) == '\0'" (pointer_expression "*(char *)(lVar6 + 0x5051)" * (cast_expression "(char *)(lVar6 + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x5051)" ( (binary_expression "lVar6 + 0x5051" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0" (assignment_expression "iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9)" identifier = (call_expression "FUN_002e3a40(local_d0,".eh_frame",puVar9)" identifier (argument_list "(local_d0,".eh_frame",puVar9)" ( identifier , (string_literal "".eh_frame"" " string_content ") , identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')" ( (comma_expression "cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0'" (assignment_expression "cVar4 = FUN_001c1c80(param_1,&local_c0)" identifier = (call_expression "FUN_001c1c80(param_1,&local_c0)" identifier (argument_list "(param_1,&local_c0)" ( identifier , (pointer_expression "&local_c0" & identifier) )))) , (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }" { (expression_statement "local_b8[0] = 0;" (assignment_expression "local_b8[0] = 0" (subscript_expression "local_b8[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_b8[1] = 0;" (assignment_expression "local_b8[1] = 0" (subscript_expression "local_b8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) comment (expression_statement "FUN_001e3660(param_1,local_b8);" (call_expression "FUN_001e3660(param_1,local_b8)" identifier (argument_list "(param_1,local_b8)" ( identifier , identifier ))) ;) (expression_statement "FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));" (call_expression "FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5))" identifier (argument_list "(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5))" ( identifier , identifier , (pointer_expression "*(undefined8 *)(local_a0 + 0x10)" * (cast_expression "(undefined8 *)(local_a0 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + 0x10)" ( (binary_expression "local_a0 + 0x10" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined8 *)(local_88 + 0x10)" * (cast_expression "(undefined8 *)(local_88 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_88 + 0x10)" ( (binary_expression "local_88 + 0x10" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(local_d0 + 4)" * (cast_expression "(undefined4 *)(local_d0 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) )))) , (pointer_expression "&local_c0" & identifier) , (pointer_expression "*(undefined4 *)((long)local_d0 + 0x24)" * (cast_expression "(undefined4 *)((long)local_d0 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x24)" ( (binary_expression "(long)local_d0 + 0x24" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_d0 + 5)" * (cast_expression "(undefined4 *)(local_d0 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 5)" ( (binary_expression "local_d0 + 5" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_001bd060(local_b8);" (call_expression "FUN_001bd060(local_b8)" identifier (argument_list "(local_b8)" ( identifier ))) ;) (expression_statement "puVar9 = extraout_RDX;" (assignment_expression "puVar9 = extraout_RDX" identifier = identifier) ;) }) (else_clause "else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" else (compound_statement "{\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" { (expression_statement "puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);" (assignment_expression "puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4)" identifier = (binary_expression "(ulong *)(ulong)*(uint *)(local_d0 + 4)" (cast_expression "(ulong *)(ulong)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(local_d0 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10)" ( (binary_expression "(ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10" (cast_expression "(ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3)" ( (binary_expression "*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3" (binary_expression "*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x58)" * (cast_expression "(long *)(param_1 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment (expression_statement "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0017c650("../../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 "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }" if (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0)" ( (binary_expression "*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0" (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + (long)puVar10 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "(long)puVar10 * 8" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) != number_literal) )) (compound_statement "{\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }" { (expression_statement "iVar5 = *(int *)((long)local_d0 + 0x24);" (assignment_expression "iVar5 = *(int *)((long)local_d0 + 0x24)" identifier = (pointer_expression "*(int *)((long)local_d0 + 0x24)" * (cast_expression "(int *)((long)local_d0 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x24)" ( (binary_expression "(long)local_d0 + 0x24" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);" (assignment_expression "uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" identifier = (call_expression "FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" identifier (argument_list "(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" ( identifier , identifier , identifier , (pointer_expression "*local_d0" * identifier) , (pointer_expression "&local_c0" & identifier) , (pointer_expression "*(undefined4 *)(local_c0 + 4)" * (cast_expression "(undefined4 *)(local_c0 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c0 + 4)" ( (binary_expression "local_c0 + 4" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(local_d0 + 5)" * (cast_expression "(undefined4 *)(local_d0 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 5)" ( (binary_expression "local_d0 + 5" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + (long)puVar10 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "(long)puVar10 * 8" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" if (parenthesized_expression "(local_b8[0] == 0xffffffffffffffff)" ( (binary_expression "local_b8[0] == 0xffffffffffffffff" (subscript_expression "local_b8[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }" { (expression_statement "puVar9 = *(ulong **)(param_1 + 0xe0);" (assignment_expression "puVar9 = *(ulong **)(param_1 + 0xe0)" identifier = (pointer_expression "*(ulong **)(param_1 + 0xe0)" * (cast_expression "(ulong **)(param_1 + 0xe0)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];" (assignment_expression "*(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0]" (pointer_expression "*(int *)((long)puVar9 + (long)puVar10 * 4)" * (cast_expression "(int *)((long)puVar9 + (long)puVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + (long)puVar10 * 4)" ( (binary_expression "(long)puVar9 + (long)puVar10 * 4" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)puVar10 * 4" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) = (cast_expression "(int)local_b8[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_b8[0]" identifier [ number_literal ]))) ;) (if_statement "if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }" { (expression_statement "*(undefined1 *)(param_1 + 0x78) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x78) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x78)" * (cast_expression "(undefined1 *)(param_1 + 0x78)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" else (compound_statement "{\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" { (expression_statement "puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));" (assignment_expression "puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" identifier = (cast_expression "(ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" ( (binary_expression "(long)puVar10 * 4 + *(long *)(param_1 + 0xe0)" (binary_expression "(long)puVar10 * 4" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) + (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) )))) ;) (if_statement "if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }" if (parenthesized_expression "(local_b8[0] != (local_b8[0] & 0xffffffff))" ( (binary_expression "local_b8[0] != (local_b8[0] & 0xffffffff)" (subscript_expression "local_b8[0]" identifier [ number_literal ]) != (parenthesized_expression "(local_b8[0] & 0xffffffff)" ( (binary_expression "local_b8[0] & 0xffffffff" (subscript_expression "local_b8[0]" identifier [ number_literal ]) & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }" { comment (expression_statement "FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_0017c650("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "*(int *)puVar9 = (int)local_b8[0];" (assignment_expression "*(int *)puVar9 = (int)local_b8[0]" (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(int)local_b8[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_b8[0]" identifier [ number_literal ]))) ;) }))) })) }))) (expression_statement "puVar7 = *(undefined8 **)(param_1 + 0x1f0);" (assignment_expression "puVar7 = *(undefined8 **)(param_1 + 0x1f0)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" * (cast_expression "(undefined8 **)(param_1 + 0x1f0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) ;) (if_statement "if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }" if (parenthesized_expression "(local_d0 + 0xb == puVar7)" ( (binary_expression "local_d0 + 0xb == puVar7" (binary_expression "local_d0 + 0xb" identifier + number_literal) == identifier) )) (compound_statement "{\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }" { (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x1e8);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x1e8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x1e8)" * (cast_expression "(undefined8 **)(param_1 + 0x1e8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = puVar3;" (assignment_expression "puVar12 = puVar3" identifier = identifier) ;) (if_statement "if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }" if (parenthesized_expression "(puVar7 != puVar3)" ( (binary_expression "puVar7 != puVar3" identifier != identifier) )) (compound_statement "{\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }" { (do_statement "do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);" do (compound_statement "{\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            }" { (if_statement "if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }" if (parenthesized_expression "((undefined8 *)*puVar12 != puVar12 + 2)" ( (binary_expression "(undefined8 *)*puVar12 != puVar12 + 2" (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier)) != (binary_expression "puVar12 + 2" identifier + number_literal)) )) (compound_statement "{\n                FUN_002dac60();\n              }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar12 = puVar12 + 0xb;" (assignment_expression "puVar12 = puVar12 + 0xb" identifier = (binary_expression "puVar12 + 0xb" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar7 != puVar12)" ( (binary_expression "puVar7 != puVar12" identifier != identifier) )) ;) (expression_statement "*(undefined8 **)(param_1 + 0x1f0) = puVar3;" (assignment_expression "*(undefined8 **)(param_1 + 0x1f0) = puVar3" (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" * (cast_expression "(undefined8 **)(param_1 + 0x1f0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_001e3b95;" goto statement_identifier ;) })) (expression_statement "local_c0 = (long)local_d0 + 0x84;" (assignment_expression "local_c0 = (long)local_d0 + 0x84" identifier = (binary_expression "(long)local_d0 + 0x84" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal)) ;) (expression_statement "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_d0 = local_d0 + 0xb;" (assignment_expression "local_d0 = local_d0 + 0xb" identifier = (binary_expression "local_d0 + 0xb" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar6 != 0)" ( (binary_expression "lVar6 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (labeled_statement "LAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);" statement_identifier : (expression_statement "local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);" (assignment_expression "local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c)" identifier = (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x200) + 0x2c)" ( (binary_expression "*(long *)(param_1 + 0x200) + 0x2c" (pointer_expression "*(long *)(param_1 + 0x200)" * (cast_expression "(long *)(param_1 + 0x200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208))" ( (binary_expression "*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)" (pointer_expression "*(long *)(param_1 + 0x200)" * (cast_expression "(long *)(param_1 + 0x200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) )))) != (pointer_expression "*(long *)(param_1 + 0x208)" * (cast_expression "(long *)(param_1 + 0x208)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }" { (do_statement "do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);" do (compound_statement "{\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    }" { (expression_statement "local_b8[0] = (ulong)local_d0;" (assignment_expression "local_b8[0] = (ulong)local_d0" (subscript_expression "local_b8[0]" identifier [ number_literal ]) = (cast_expression "(ulong)local_d0" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar1 = *(uint *)((long)local_d0 + 0x1c);" (assignment_expression "uVar1 = *(uint *)((long)local_d0 + 0x1c)" identifier = (pointer_expression "*(uint *)((long)local_d0 + 0x1c)" * (cast_expression "(uint *)((long)local_d0 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x1c)" ( (binary_expression "(long)local_d0 + 0x1c" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)((long)local_d0 - 0xc);" (assignment_expression "uVar2 = *(uint *)((long)local_d0 - 0xc)" identifier = (pointer_expression "*(uint *)((long)local_d0 - 0xc)" * (cast_expression "(uint *)((long)local_d0 - 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 - 0xc)" ( (binary_expression "(long)local_d0 - 0xc" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - number_literal) ))))) ;) (expression_statement "uVar13 = (ulong)uVar2;" (assignment_expression "uVar13 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" if (parenthesized_expression "(uVar1 < 0xff00)" ( (binary_expression "uVar1 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" { (expression_statement "lVar6 = *(long *)(param_1 + 0x50);" (assignment_expression "lVar6 = *(long *)(param_1 + 0x50)" identifier = (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);" (assignment_expression "lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8)" identifier = (pointer_expression "*(long *)(lVar6 + (ulong)uVar1 * 8)" * (cast_expression "(long *)(lVar6 + (ulong)uVar1 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + (ulong)uVar1 * 8)" ( (binary_expression "lVar6 + (ulong)uVar1 * 8" identifier + (binary_expression "(ulong)uVar1 * 8" (cast_expression "(ulong)uVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if (lVar11 == 0) goto LAB_001e3cc2;" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001e3cc2;" goto statement_identifier ;)) (labeled_statement "LAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);" statement_identifier : (expression_statement "puVar7 = (undefined8 *)FUN_002d9490(0x28);" (assignment_expression "puVar7 = (undefined8 *)FUN_002d9490(0x28)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;)) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "puVar7[1] = 0;" (assignment_expression "puVar7[1] = 0" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[2] = 0;" (assignment_expression "puVar7[2] = 0" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[3] = 0;" (assignment_expression "puVar7[3] = 0" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[4] = 0;" (assignment_expression "puVar7[4] = 0" (subscript_expression "puVar7[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" if (parenthesized_expression "(*(uint *)(param_1 + 0x38) <= uVar2)" ( (binary_expression "*(uint *)(param_1 + 0x38) <= uVar2" (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;" (assignment_expression "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7" (pointer_expression "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8)" * (cast_expression "(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(param_1 + 0x68) + uVar13 * 8)" ( (binary_expression "**(long **)(param_1 + 0x68) + uVar13 * 8" (pointer_expression "**(long **)(param_1 + 0x68)" * (pointer_expression "*(long **)(param_1 + 0x68)" * (cast_expression "(long **)(param_1 + 0x68)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);" (assignment_expression "uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11)" identifier = (call_expression "FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11)" identifier (argument_list "(param_2,param_1,uVar13,local_b8,lVar11)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + uVar13 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + uVar13 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (binary_expression "*(long *)(param_1 + 0xe0) + uVar13 * 4" (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" else (compound_statement "{\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" { (expression_statement "FUN_00167570(param_1 + 0xf8);" (call_expression "FUN_00167570(param_1 + 0xf8)" identifier (argument_list "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) ))) ;) (expression_statement "lVar6 = *(long *)(param_1 + 0x50);" (assignment_expression "lVar6 = *(long *)(param_1 + 0x50)" identifier = (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);" (assignment_expression "lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" identifier = (pointer_expression "*(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" * (cast_expression "(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" ( (binary_expression "lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8" identifier + (binary_expression "(ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8" (call_expression "(ulong)(uVar1 + *(int *)(param_1 + 0x110))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 + *(int *)(param_1 + 0x110))" ( (binary_expression "uVar1 + *(int *)(param_1 + 0x110)" identifier + (pointer_expression "*(int *)(param_1 + 0x110)" * (cast_expression "(int *)(param_1 + 0x110)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x110)" ( (binary_expression "param_1 + 0x110" identifier + number_literal) ))))) ))) * number_literal)) ))))) ;) (if_statement "if (lVar11 != 0) goto LAB_001e3be1;" if (parenthesized_expression "(lVar11 != 0)" ( (binary_expression "lVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e3be1;" goto statement_identifier ;)) (labeled_statement "LAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(lVar6 + uVar13 * 8) = 0;" (assignment_expression "*(undefined8 *)(lVar6 + uVar13 * 8) = 0" (pointer_expression "*(undefined8 *)(lVar6 + uVar13 * 8)" * (cast_expression "(undefined8 *)(lVar6 + uVar13 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar13 * 8)" ( (binary_expression "lVar6 + uVar13 * 8" identifier + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (binary_expression "*(long *)(param_1 + 0xe0) + uVar13 * 4" (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = number_literal) ;) }))) (expression_statement "lVar6 = (long)local_d0 + 0x2c;" (assignment_expression "lVar6 = (long)local_d0 + 0x2c" identifier = (binary_expression "(long)local_d0 + 0x2c" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal)) ;) (expression_statement "local_d0 = (undefined8 *)((long)local_d0 + 0x58);" (assignment_expression "local_d0 = (undefined8 *)((long)local_d0 + 0x58)" identifier = (cast_expression "(undefined8 *)((long)local_d0 + 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x58)" ( (binary_expression "(long)local_d0 + 0x58" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(*(long *)(param_1 + 0x208) != lVar6)" ( (binary_expression "*(long *)(param_1 + 0x208) != lVar6" (pointer_expression "*(long *)(param_1 + 0x208)" * (cast_expression "(long *)(param_1 + 0x208)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) )))) != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_layout_deferred_sections(Sized_relobj_file<32,_false> * this,\n   Layout * layout) */\n\nvoid __thiscall\ngold::Sized_relobj_file<32,_false>::do_layout_deferred_sections\n          (Sized_relobj_file<32,_false> *this,Layout *layout)\n\n{\n  uint uVar1;\n  uint uVar2;\n  pointer pDVar3;\n  pointer pDVar4;\n  pointer pcVar5;\n  File_view *pFVar6;\n  bool bVar7;\n  int iVar8;\n  General_options *pGVar9;\n  Relocatable_relocs *rr;\n  Output_section *pOVar10;\n  pointer ppOVar11;\n  Layout *pLVar12;\n  ulong uVar13;\n  pointer pDVar14;\n  pointer local_d0;\n  Shdr shdr;\n  Read_symbols_data sd;\n  \n  local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_start;\n  if (local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n      ._M_impl._M_finish) {\n    shdr.p_ = (Shdr_data<32> *)local_d0->shdr_data_;\n    pGVar9 = parameters->options_;\n    if (pGVar9 != (General_options *)0x0) {\n      do {\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      } while (pGVar9 != (General_options *)0x0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  pDVar3 = (this->deferred_layout_relocs_).\n           super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n           ._M_impl._M_start;\n  local_d0 = (pointer)pDVar3->shdr_data_;\n  if (pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                ._M_impl._M_finish) {\n    do {\n      sd.section_headers = (File_view *)local_d0;\n      uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);\n      uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);\n      if (uVar1 < 0xff00) {\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      pFVar6 = (File_view *)((long)local_d0 + 0x18);\n      local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;\n    } while ((this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4));\n  }\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<32,_false>::do_layout_deferred_sections\n          (Sized_relobj_file<32,_false> *this,Layout *layout)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::do_layout_deferred_sections\n          (Sized_relobj_file<32,_false> *this,Layout *layout)\n\n{\n  uint" identifier > : : (function_declarator "do_layout_deferred_sections\n          (Sized_relobj_file<32,_false> *this,Layout *layout)" identifier (parameter_list "(Sized_relobj_file<32,_false> *this,Layout *layout)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) ))) { identifier) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "pointer pDVar3;" type_identifier identifier ;) (declaration "pointer pDVar4;" type_identifier identifier ;) (declaration "pointer pcVar5;" type_identifier identifier ;) (declaration "File_view *pFVar6;" type_identifier (pointer_declarator "*pFVar6" * identifier) ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "General_options *pGVar9;" type_identifier (pointer_declarator "*pGVar9" * identifier) ;) (declaration "Relocatable_relocs *rr;" type_identifier (pointer_declarator "*rr" * identifier) ;) (declaration "Output_section *pOVar10;" type_identifier (pointer_declarator "*pOVar10" * identifier) ;) (declaration "pointer ppOVar11;" type_identifier identifier ;) (declaration "Layout *pLVar12;" type_identifier (pointer_declarator "*pLVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "pointer pDVar14;" type_identifier identifier ;) (declaration "pointer local_d0;" type_identifier identifier ;) (declaration "Shdr shdr;" type_identifier identifier ;) (declaration "Read_symbols_data sd;" type_identifier identifier ;) (expression_statement "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_start;" (field_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_start" (field_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl" (binary_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_" (binary_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout" (binary_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32" (binary_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold" (binary_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout" (binary_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "local_d0 = (this->deferred_layout_).\n             super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n             super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n             super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier) (ERROR ",_std::allocator" , identifier : : identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) (ERROR ",_false" , identifier) > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n      ._M_impl._M_finish) {\n    shdr.p_ = (Shdr_data<32> *)local_d0->shdr_data_;\n    pGVar9 = parameters->options_;\n    if (pGVar9 != (General_options *)0x0) {\n      do {\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      } while (pGVar9 != (General_options *)0x0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n      ._M_impl._M_finish)" ( (ERROR "local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32" (binary_expression "local_d0 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold" identifier != (binary_expression "(this->deferred_layout_).\n      super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n      super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n      ._M_impl._M_finish" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n      ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n      ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n    shdr.p_ = (Shdr_data<32> *)local_d0->shdr_data_;\n    pGVar9 = parameters->options_;\n    if (pGVar9 != (General_options *)0x0) {\n      do {\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      } while (pGVar9 != (General_options *)0x0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "shdr.p_ = (Shdr_data<32> *)local_d0->shdr_data_;" (assignment_expression "shdr.p_ = (Shdr_data<32> *)local_d0->shdr_data_" (field_expression "shdr.p_" identifier . field_identifier) = (parenthesized_expression "(Shdr_data<32> *)local_d0->shdr_data_" ( (binary_expression "Shdr_data<32> *)local_d0->shdr_data_" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*)local_d0->shdr_data_" * (ERROR ")" )) (field_expression "local_d0->shdr_data_" identifier -> field_identifier))) ))) ;) (expression_statement "pGVar9 = parameters->options_;" (assignment_expression "pGVar9 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar9 != (General_options *)0x0) {\n      do {\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      } while (pGVar9 != (General_options *)0x0);\n    }" if (parenthesized_expression "(pGVar9 != (General_options *)0x0)" ( (binary_expression "pGVar9 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      } while (pGVar9 != (General_options *)0x0);\n    }" { (do_statement "do {\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      } while (pGVar9 != (General_options *)0x0);" do (compound_statement "{\n        if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }\n        pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;\n        if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }\n        shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;\n        pGVar9 = parameters->options_;\n        local_d0 = local_d0 + 1;\n      }" { (if_statement "if ((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)) {\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }\n        else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }" if (parenthesized_expression "((((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7))" ( (binary_expression "(((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)) &&\n           (bVar7 = check_eh_frame_flags(this,&shdr), bVar7)" (parenthesized_expression "(((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0))" ( (binary_expression "((pGVar9->relocatable_).value == false) &&\n            (iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)" (parenthesized_expression "((pGVar9->relocatable_).value == false)" ( (binary_expression "(pGVar9->relocatable_).value == false" (field_expression "(pGVar9->relocatable_).value" (parenthesized_expression "(pGVar9->relocatable_)" ( (field_expression "pGVar9->relocatable_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "(iVar8 = std::string::compare((string *)local_d0,".eh_frame"), iVar8 == 0)" ( (ERROR "iVar8 = std::string::" (assignment_expression "iVar8 = std" identifier = identifier) : : identifier : :) (comma_expression "compare((string *)local_d0,".eh_frame"), iVar8 == 0" (call_expression "compare((string *)local_d0,".eh_frame")" identifier (argument_list "((string *)local_d0,".eh_frame")" ( (cast_expression "(string *)local_d0" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal "".eh_frame"" " string_content ") ))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(bVar7 = check_eh_frame_flags(this,&shdr), bVar7)" ( (comma_expression "bVar7 = check_eh_frame_flags(this,&shdr), bVar7" (assignment_expression "bVar7 = check_eh_frame_flags(this,&shdr)" identifier = (call_expression "check_eh_frame_flags(this,&shdr)" identifier (argument_list "(this,&shdr)" ( identifier , (pointer_expression "&shdr" & identifier) )))) , identifier) ))) )) (compound_statement "{\n          sd.section_headers = (File_view *)0x0;\n          sd.section_names = (File_view *)0x0;\n          sd.symbols = (File_view *)0x0;\n          sd.symbol_names = (File_view *)0x0;\n          sd.versym = (File_view *)0x0;\n          sd.verdef = (File_view *)0x0;\n          sd.verneed = (File_view *)0x0;\n                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */\n          base_read_symbols(this,&sd);\n          pLVar12 = layout;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);\n          Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);\n        }" { (expression_statement "sd.section_headers = (File_view *)0x0;" (assignment_expression "sd.section_headers = (File_view *)0x0" (field_expression "sd.section_headers" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sd.section_names = (File_view *)0x0;" (assignment_expression "sd.section_names = (File_view *)0x0" (field_expression "sd.section_names" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sd.symbols = (File_view *)0x0;" (assignment_expression "sd.symbols = (File_view *)0x0" (field_expression "sd.symbols" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sd.symbol_names = (File_view *)0x0;" (assignment_expression "sd.symbol_names = (File_view *)0x0" (field_expression "sd.symbol_names" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sd.versym = (File_view *)0x0;" (assignment_expression "sd.versym = (File_view *)0x0" (field_expression "sd.versym" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sd.verdef = (File_view *)0x0;" (assignment_expression "sd.verdef = (File_view *)0x0" (field_expression "sd.verdef" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sd.verneed = (File_view *)0x0;" (assignment_expression "sd.verneed = (File_view *)0x0" (field_expression "sd.verneed" identifier . field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "base_read_symbols(this,&sd);" (call_expression "base_read_symbols(this,&sd)" identifier (argument_list "(this,&sd)" ( identifier , (pointer_expression "&sd" & identifier) ))) ;) (expression_statement "pLVar12 = layout;" (assignment_expression "pLVar12 = layout" identifier = identifier) ;) (expression_statement "layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_);" (call_expression "layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_)" identifier (argument_list "(this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,local_d0->shndx_,&shdr,local_d0->reloc_shndx_,\n                     local_d0->reloc_type_)" ( identifier , identifier , (field_expression "(sd.symbols)->data_" (parenthesized_expression "(sd.symbols)" ( (field_expression "sd.symbols" identifier . field_identifier) )) -> field_identifier) , (field_expression "sd.symbols_size" identifier . field_identifier) , (field_expression "(sd.symbol_names)->data_" (parenthesized_expression "(sd.symbol_names)" ( (field_expression "sd.symbol_names" identifier . field_identifier) )) -> field_identifier) , (field_expression "sd.symbol_names_size" identifier . field_identifier) , (field_expression "local_d0->shndx_" identifier -> field_identifier) , (pointer_expression "&shdr" & identifier) , (field_expression "local_d0->reloc_shndx_" identifier -> field_identifier) , (field_expression "local_d0->reloc_type_" identifier -> field_identifier) ))) ;) (labeled_statement "Read_symbols_data::~Read_symbols_data(&sd,(int)pLVar12);" statement_identifier : (ERROR ":" :) (expression_statement "~Read_symbols_data(&sd,(int)pLVar12);" (unary_expression "~Read_symbols_data(&sd,(int)pLVar12)" ~ (call_expression "Read_symbols_data(&sd,(int)pLVar12)" identifier (argument_list "(&sd,(int)pLVar12)" ( (pointer_expression "&sd" & identifier) , (cast_expression "(int)pLVar12" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) }) (else_clause "else {\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }" else (compound_statement "{\n          ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;\n          uVar13 = (ulong)local_d0->shndx_;\n          if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }\n        }" { (expression_statement "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start;" (field_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl._M_start" (field_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                     ._M_impl" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                     super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar13 = (ulong)local_d0->shndx_;" (assignment_expression "uVar13 = (ulong)local_d0->shndx_" identifier = (cast_expression "(ulong)local_d0->shndx_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_d0->shndx_" identifier -> field_identifier))) ;) (if_statement "if ((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13)" ( (binary_expression "(ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= uVar13" (call_expression "(ulong)((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3)" ( (binary_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11 >> 3" (binary_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar11" (field_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish" (field_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl" (binary_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base<gold" (cast_expression "(long)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                            super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= 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 ") ))) ;) })) (if_statement "if (ppOVar11[uVar13] != (Output_section *)0x0) {\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }" if (parenthesized_expression "(ppOVar11[uVar13] != (Output_section *)0x0)" ( (binary_expression "ppOVar11[uVar13] != (Output_section *)0x0" (subscript_expression "ppOVar11[uVar13]" identifier [ identifier ]) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar1 = local_d0->reloc_shndx_;\n            pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);\n            (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;\n            if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }\n          }" { (expression_statement "uVar1 = local_d0->reloc_shndx_;" (assignment_expression "uVar1 = local_d0->reloc_shndx_" identifier = (field_expression "local_d0->reloc_shndx_" identifier -> field_identifier)) ;) (expression_statement "pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd);" (comma_expression "pOVar10 = Layout::layout<32,_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd)" (binary_expression "pOVar10 = Layout::layout<32" (assignment_expression "pOVar10 = Layout" identifier = identifier) (ERROR "::layout" : : identifier) < number_literal) , (binary_expression "_false>\n                                (layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd)" identifier > (parenthesized_expression "(layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd)" ( (comma_expression "layout,this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd" identifier , (comma_expression "this,local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd" identifier , (comma_expression "local_d0->shndx_,(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd" (field_expression "local_d0->shndx_" identifier -> field_identifier) , (comma_expression "(local_d0->name_)._M_dataplus._M_p,\n                                 &shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd" (field_expression "(local_d0->name_)._M_dataplus._M_p" (field_expression "(local_d0->name_)._M_dataplus" (parenthesized_expression "(local_d0->name_)" ( (field_expression "local_d0->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (comma_expression "&shdr,(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd" (pointer_expression "&shdr" & identifier) , (comma_expression "(shdr.p_)->sh_type,uVar1,local_d0->reloc_type_,(off_t *)&sd" (field_expression "(shdr.p_)->sh_type" (parenthesized_expression "(shdr.p_)" ( (field_expression "shdr.p_" identifier . field_identifier) )) -> field_identifier) , (comma_expression "uVar1,local_d0->reloc_type_,(off_t *)&sd" identifier , (comma_expression "local_d0->reloc_type_,(off_t *)&sd" (field_expression "local_d0->reloc_type_" identifier -> field_identifier) , (cast_expression "(off_t *)&sd" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&sd" & identifier)))))))))) )))) ;) (expression_statement "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10;" (assignment_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13] = pOVar10" (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start[uVar13]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (if_statement "if (sd.section_headers == (File_view *)0xffffffffffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }\n            else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }" if (parenthesized_expression "(sd.section_headers == (File_view *)0xffffffffffffffff)" ( (binary_expression "sd.section_headers == (File_view *)0xffffffffffffffff" (field_expression "sd.section_headers" identifier . field_identifier) == (cast_expression "(File_view *)0xffffffffffffffff" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n              if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }\n            }" { (ERROR "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13]" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(uint)sd.section_headers" ( (type_descriptor "uint" type_identifier) ) (field_expression "sd.section_headers" identifier . field_identifier))) ;) (if_statement "if (uVar1 != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }" { (expression_statement "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;" (assignment_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = true) ;) })) }) (else_clause "else {\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }" else (compound_statement "{\n              if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;\n            }" { (if_statement "if (sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }" if (parenthesized_expression "(sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff))" ( (binary_expression "sd.section_headers != (File_view *)((ulong)sd.section_headers & 0xffffffff)" (field_expression "sd.section_headers" identifier . field_identifier) != (cast_expression "(File_view *)((ulong)sd.section_headers & 0xffffffff)" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)sd.section_headers & 0xffffffff)" ( (binary_expression "(ulong)sd.section_headers & 0xffffffff" (cast_expression "(ulong)sd.section_headers" ( (type_descriptor "ulong" type_identifier) ) (field_expression "sd.section_headers" identifier . field_identifier)) & number_literal) )))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (ERROR "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13] = (uint)sd.section_headers" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar13]" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = (cast_expression "(uint)sd.section_headers" ( (type_descriptor "uint" type_identifier) ) (field_expression "sd.section_headers" identifier . field_identifier))) ;) }))) })) }))) (ERROR "pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar3 = (this->deferred_layout_).\n                 super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n                 super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n                 super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish;" (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n                 ._M_impl._M_finish" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                 ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n                 ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (if_statement "if (local_d0 + 1 == pDVar3) {\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }" if (parenthesized_expression "(local_d0 + 1 == pDVar3)" ( (binary_expression "local_d0 + 1 == pDVar3" (binary_expression "local_d0 + 1" identifier + number_literal) == identifier) )) (compound_statement "{\n          pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;\n          pDVar14 = pDVar4;\n          if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }\n          goto LAB_001e3b95;\n        }" { (ERROR "pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar4 = (this->deferred_layout_).\n                   super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_).\n                   super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n                   super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start;" (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n                   ._M_impl._M_start" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                   ._M_impl._M_start" (field_expression "_false>::Deferred_layout>_>\n                   ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;) (expression_statement "pDVar14 = pDVar4;" (assignment_expression "pDVar14 = pDVar4" identifier = identifier) ;) (if_statement "if (pDVar3 != pDVar4) {\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }" if (parenthesized_expression "(pDVar3 != pDVar4)" ( (binary_expression "pDVar3 != pDVar4" identifier != identifier) )) (compound_statement "{\n            do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);\n            (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;\n          }" { (do_statement "do {\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            } while (pDVar3 != pDVar14);" do (compound_statement "{\n              pcVar5 = (pDVar14->name_)._M_dataplus._M_p;\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }\n              pDVar14 = pDVar14 + 1;\n            }" { (expression_statement "pcVar5 = (pDVar14->name_)._M_dataplus._M_p;" (assignment_expression "pcVar5 = (pDVar14->name_)._M_dataplus._M_p" identifier = (field_expression "(pDVar14->name_)._M_dataplus._M_p" (field_expression "(pDVar14->name_)._M_dataplus" (parenthesized_expression "(pDVar14->name_)" ( (field_expression "pDVar14->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2) {\n                operator_delete(pcVar5);\n              }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                   *)pcVar5 != &(pDVar14->name_).field_2" (binary_expression "allocator<char>_>_9\n                   *)pcVar5" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                   *)pcVar5" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&(pDVar14->name_).field_2" & (field_expression "(pDVar14->name_).field_2" (parenthesized_expression "(pDVar14->name_)" ( (field_expression "pDVar14->name_" identifier -> field_identifier) )) . field_identifier))) )) )) (compound_statement "{\n                operator_delete(pcVar5);\n              }" { (expression_statement "operator_delete(pcVar5);" (call_expression "operator_delete(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) })) (expression_statement "pDVar14 = pDVar14 + 1;" (assignment_expression "pDVar14 = pDVar14 + 1" identifier = (binary_expression "pDVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pDVar3 != pDVar14)" ( (binary_expression "pDVar3 != pDVar14" identifier != identifier) )) ;) (ERROR "(this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "(this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "(this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32" (binary_expression "(this->deferred_layout_).\n            super__Vector_base<gold" (field_expression "(this->deferred_layout_).\n            super__Vector_base" (parenthesized_expression "(this->deferred_layout_)" ( (field_expression "this->deferred_layout_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4;" (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (assignment_expression "_false>::Deferred_layout>_>\n            ._M_impl._M_finish = pDVar4" (field_expression "_false>::Deferred_layout>_>\n            ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n            ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier)) ;) })) (goto_statement "goto LAB_001e3b95;" goto statement_identifier ;) })) (expression_statement "shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_;" (assignment_expression "shdr.p_ = (Shdr_data<32> *)local_d0[1].shdr_data_" (field_expression "shdr.p_" identifier . field_identifier) = (parenthesized_expression "(Shdr_data<32> *)local_d0[1].shdr_data_" ( (binary_expression "Shdr_data<32> *)local_d0[1].shdr_data_" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*)local_d0[1].shdr_data_" * (ERROR ")" )) (field_expression "local_d0[1].shdr_data_" (subscript_expression "local_d0[1]" identifier [ number_literal ]) . field_identifier))) ))) ;) (expression_statement "pGVar9 = parameters->options_;" (assignment_expression "pGVar9 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (expression_statement "local_d0 = local_d0 + 1;" (assignment_expression "local_d0 = local_d0 + 1" identifier = (binary_expression "local_d0 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pGVar9 != (General_options *)0x0)" ( (binary_expression "pGVar9 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (labeled_statement "LAB_001e3b95:\n  pDVar3 = (this->deferred_layout_relocs_).\n           super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n           ._M_impl._M_start;" statement_identifier : (ERROR "pDVar3 = (this->deferred_layout_relocs_).\n           super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar3 = (this->deferred_layout_relocs_).\n           super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar3 = (this->deferred_layout_relocs_).\n           super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar3 = (this->deferred_layout_relocs_).\n           super__Vector_base<gold" identifier = (binary_expression "(this->deferred_layout_relocs_).\n           super__Vector_base<gold" (field_expression "(this->deferred_layout_relocs_).\n           super__Vector_base" (parenthesized_expression "(this->deferred_layout_relocs_)" ( (field_expression "this->deferred_layout_relocs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Sized_relobj_file<32,_false>::Deferred_layout>_>\n           ._M_impl._M_start;" (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n           ._M_impl._M_start" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n           ._M_impl._M_start" (field_expression "_false>::Deferred_layout>_>\n           ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ;)) (expression_statement "local_d0 = (pointer)pDVar3->shdr_data_;" (assignment_expression "local_d0 = (pointer)pDVar3->shdr_data_" identifier = (cast_expression "(pointer)pDVar3->shdr_data_" ( (type_descriptor "pointer" type_identifier) ) (field_expression "pDVar3->shdr_data_" identifier -> field_identifier))) ;) (if_statement "if (pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                ._M_impl._M_finish) {\n    do {\n      sd.section_headers = (File_view *)local_d0;\n      uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);\n      uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);\n      if (uVar1 < 0xff00) {\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      pFVar6 = (File_view *)((long)local_d0 + 0x18);\n      local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;\n    } while ((this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4));\n  }" if (parenthesized_expression "(pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n                ._M_impl._M_finish)" ( (ERROR "pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold::Sized_relobj_file<32" (binary_expression "pDVar3 != (this->deferred_layout_relocs_).\n                super__Vector_base<gold" identifier != (binary_expression "(this->deferred_layout_relocs_).\n                super__Vector_base<gold" (field_expression "(this->deferred_layout_relocs_).\n                super__Vector_base" (parenthesized_expression "(this->deferred_layout_relocs_)" ( (field_expression "this->deferred_layout_relocs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n                ._M_impl._M_finish" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (field_expression "_false>::Deferred_layout>_>\n                ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n                ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) )) (compound_statement "{\n    do {\n      sd.section_headers = (File_view *)local_d0;\n      uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);\n      uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);\n      if (uVar1 < 0xff00) {\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      pFVar6 = (File_view *)((long)local_d0 + 0x18);\n      local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;\n    } while ((this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4));\n  }" { (do_statement "do {\n      sd.section_headers = (File_view *)local_d0;\n      uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);\n      uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);\n      if (uVar1 < 0xff00) {\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      pFVar6 = (File_view *)((long)local_d0 + 0x18);\n      local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;\n    } while ((this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4));" do (compound_statement "{\n      sd.section_headers = (File_view *)local_d0;\n      uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);\n      uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);\n      if (uVar1 < 0xff00) {\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      pFVar6 = (File_view *)((long)local_d0 + 0x18);\n      local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;\n    }" { (expression_statement "sd.section_headers = (File_view *)local_d0;" (assignment_expression "sd.section_headers = (File_view *)local_d0" (field_expression "sd.section_headers" identifier . field_identifier) = (cast_expression "(File_view *)local_d0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4);" (assignment_expression "uVar1 = *(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4)" identifier = (pointer_expression "*(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4)" * (cast_expression "(uint *)((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4)" ( (binary_expression "(long)&((File_view *)((long)local_d0 + 0x18))->file_ + 4" (cast_expression "(long)&((File_view *)((long)local_d0 + 0x18))->file_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((File_view *)((long)local_d0 + 0x18))->file_" & (field_expression "((File_view *)((long)local_d0 + 0x18))->file_" (parenthesized_expression "((File_view *)((long)local_d0 + 0x18))" ( (cast_expression "(File_view *)((long)local_d0 + 0x18)" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x18)" ( (binary_expression "(long)local_d0 + 0x18" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4);" (assignment_expression "uVar2 = *(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4)" identifier = (pointer_expression "*(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4)" * (cast_expression "(uint *)((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4)" ( (binary_expression "(long)&((File_view *)((long)local_d0 + -0x18))->view_ + 4" (cast_expression "(long)&((File_view *)((long)local_d0 + -0x18))->view_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((File_view *)((long)local_d0 + -0x18))->view_" & (field_expression "((File_view *)((long)local_d0 + -0x18))->view_" (parenthesized_expression "((File_view *)((long)local_d0 + -0x18))" ( (cast_expression "(File_view *)((long)local_d0 + -0x18)" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + -0x18)" ( (binary_expression "(long)local_d0 + -0x18" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (uVar1 < 0xff00) {\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }\n      else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }" if (parenthesized_expression "(uVar1 < 0xff00)" ( (binary_expression "uVar1 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1];\n        if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;\n        (rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;\n        rr->output_reloc_count_ = 0;\n        rr->posd_ = (Output_data *)0x0;\n        if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;\n        pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);\n        (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }" { (expression_statement "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;" (field_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start" (field_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pOVar10 = ppOVar11[uVar1];" (assignment_expression "pOVar10 = ppOVar11[uVar1]" identifier = (subscript_expression "ppOVar11[uVar1]" identifier [ identifier ])) ;) (if_statement "if (pOVar10 == (Output_section *)0x0) goto LAB_001e3cc2;" if (parenthesized_expression "(pOVar10 == (Output_section *)0x0)" ( (binary_expression "pOVar10 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e3cc2;" goto statement_identifier ;)) (labeled_statement "LAB_001e3be1:\n        rr = (Relocatable_relocs *)operator_new(0x28);" statement_identifier : (expression_statement "rr = (Relocatable_relocs *)operator_new(0x28);" (assignment_expression "rr = (Relocatable_relocs *)operator_new(0x28)" identifier = (cast_expression "(Relocatable_relocs *)operator_new(0x28)" ( (type_descriptor "Relocatable_relocs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;)) (ERROR "(rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::" (comma_expression "(rr->reloc_strategies_).super__Vector_base<unsigned_char,_std" (binary_expression "(rr->reloc_strategies_).super__Vector_base<unsigned_char" (field_expression "(rr->reloc_strategies_).super__Vector_base" (parenthesized_expression "(rr->reloc_strategies_)" ( (field_expression "rr->reloc_strategies_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<unsigned_char>_>.\n        _M_impl._M_start = (pointer)0x0" (field_expression "allocator<unsigned_char>_>.\n        _M_impl._M_start" (field_expression "allocator<unsigned_char>_>.\n        _M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::" (comma_expression "(rr->reloc_strategies_).super__Vector_base<unsigned_char,_std" (binary_expression "(rr->reloc_strategies_).super__Vector_base<unsigned_char" (field_expression "(rr->reloc_strategies_).super__Vector_base" (parenthesized_expression "(rr->reloc_strategies_)" ( (field_expression "rr->reloc_strategies_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<unsigned_char>_>.\n        _M_impl._M_finish = (pointer)0x0" (field_expression "allocator<unsigned_char>_>.\n        _M_impl._M_finish" (field_expression "allocator<unsigned_char>_>.\n        _M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(rr->reloc_strategies_).super__Vector_base<unsigned_char,_std::" (comma_expression "(rr->reloc_strategies_).super__Vector_base<unsigned_char,_std" (binary_expression "(rr->reloc_strategies_).super__Vector_base<unsigned_char" (field_expression "(rr->reloc_strategies_).super__Vector_base" (parenthesized_expression "(rr->reloc_strategies_)" ( (field_expression "rr->reloc_strategies_" identifier -> field_identifier) )) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_char>_>.\n        _M_impl._M_end_of_storage" (field_expression "allocator<unsigned_char>_>.\n        _M_impl" (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "rr->output_reloc_count_ = 0;" (assignment_expression "rr->output_reloc_count_ = 0" (field_expression "rr->output_reloc_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "rr->posd_ = (Output_data *)0x0;" (assignment_expression "rr->posd_ = (Output_data *)0x0" (field_expression "rr->posd_" identifier -> field_identifier) = (cast_expression "(Output_data *)0x0" ( (type_descriptor "Output_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" if (parenthesized_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2)" ( (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <= uVar2" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "(((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr;" (assignment_expression "(((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2] = rr" (subscript_expression "(((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start[uVar2]" (field_expression "(((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl._M_start" (field_expression "(((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>).\n        _M_impl" (parenthesized_expression "(((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>)" ( (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>" (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_" (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold" (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold::Relocatable_relocs*,_std" (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base<gold" (field_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)->\n        super__Vector_base" (parenthesized_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)" ( (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) )) -> field_identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (expression_statement "pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr);" (comma_expression "pOVar10 = Layout::layout_reloc<32,_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr)" (binary_expression "pOVar10 = Layout::layout_reloc<32" (assignment_expression "pOVar10 = Layout" identifier = identifier) (ERROR "::layout_reloc" : : identifier) < number_literal) , (binary_expression "_false>\n                            (layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr)" identifier > (parenthesized_expression "(layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr)" ( (comma_expression "layout,this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr" identifier , (comma_expression "this,uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr" identifier , (comma_expression "uVar2,(Shdr<32,_false> *)&sd,pOVar10,rr" identifier , (comma_expression "(Shdr<32,_false> *)&sd,pOVar10,rr" (binary_expression "(Shdr<32,_false> *)&sd" (parenthesized_expression "(Shdr<32,_false> *)" ( (comma_expression "Shdr<32,_false> *" (binary_expression "Shdr<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier) , (comma_expression "pOVar10,rr" identifier , identifier))))) )))) ;) (expression_statement "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10;" (assignment_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2] = pOVar10" (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start[uVar2]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n        _M_start" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n        super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = identifier) ;) (ERROR "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start[uVar2]" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }) (else_clause "else {\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }" else (compound_statement "{\n        elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n        ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;\n        pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];\n        if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;\n        (this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;\n      }" { (labeled_statement "elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);" statement_identifier (ERROR "::Elf_file<32,_false,_gold::Object>:" : : (comma_expression "Elf_file<32,_false,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_false,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "initialize_shnum(&this->elf_file_);" (call_expression "initialize_shnum(&this->elf_file_)" identifier (argument_list "(&this->elf_file_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) ))) ;)) (expression_statement "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start;" (field_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl._M_start" (field_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                   ._M_impl" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar11 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold" identifier = (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base<gold" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                   super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_];" (assignment_expression "pOVar10 = ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_]" identifier = (subscript_expression "ppOVar11[uVar1 + (this->elf_file_).large_shndx_offset_]" identifier [ (binary_expression "uVar1 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier)) ])) ;) (if_statement "if (pOVar10 != (Output_section *)0x0) goto LAB_001e3be1;" if (parenthesized_expression "(pOVar10 != (Output_section *)0x0)" ( (binary_expression "pOVar10 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001e3be1;" goto statement_identifier ;)) (labeled_statement "LAB_001e3cc2:\n        ppOVar11[uVar2] = (Output_section *)0x0;" statement_identifier : (expression_statement "ppOVar11[uVar2] = (Output_section *)0x0;" (assignment_expression "ppOVar11[uVar2] = (Output_section *)0x0" (subscript_expression "ppOVar11[uVar2]" identifier [ identifier ]) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (ERROR "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std::" (comma_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int,_std" (binary_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base<unsigned_int" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_.\n        super__Vector_base" (field_expression "(this->super_Sized_relobj<32,_false>).section_offsets_" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start[uVar2] =\n             0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start[uVar2]" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ identifier ]) = number_literal) ;) }))) (expression_statement "pFVar6 = (File_view *)((long)local_d0 + 0x18);" (assignment_expression "pFVar6 = (File_view *)((long)local_d0 + 0x18)" identifier = (cast_expression "(File_view *)((long)local_d0 + 0x18)" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x18)" ( (binary_expression "(long)local_d0 + 0x18" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_;" (assignment_expression "local_d0 = (pointer)&((File_view *)((long)local_d0 + 0x48))->data_" identifier = (binary_expression "(pointer)&((File_view *)((long)local_d0 + 0x48))->data_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "((File_view *)((long)local_d0 + 0x48))->data_" (parenthesized_expression "((File_view *)((long)local_d0 + 0x48))" ( (cast_expression "(File_view *)((long)local_d0 + 0x48)" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x48)" ( (binary_expression "(long)local_d0 + 0x48" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))) ;) }) while (parenthesized_expression "((this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4))" ( (ERROR "(this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "(this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "(this->deferred_layout_relocs_).\n             super__Vector_base<gold::Sized_relobj_file<32" (binary_expression "(this->deferred_layout_relocs_).\n             super__Vector_base<gold" (field_expression "(this->deferred_layout_relocs_).\n             super__Vector_base" (parenthesized_expression "(this->deferred_layout_relocs_)" ( (field_expression "this->deferred_layout_relocs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Sized_relobj_file" : : identifier) < number_literal) , (comma_expression "_false>::Deferred_layout,_std" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) , identifier)) : : (binary_expression "allocator<gold" identifier < identifier) : :) (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n             ._M_impl._M_finish != (pointer)((long)&pFVar6->data_ + 4)" (field_expression "_false>::Deferred_layout>_>\n             ._M_impl._M_finish" (field_expression "_false>::Deferred_layout>_>\n             ._M_impl" (binary_expression "_false>::Deferred_layout>_" (binary_expression "_false>::Deferred_layout" identifier > (ERROR "::" : :) identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (call_expression "(pointer)((long)&pFVar6->data_ + 4)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)&pFVar6->data_ + 4)" ( (binary_expression "(long)&pFVar6->data_ + 4" (cast_expression "(long)&pFVar6->data_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pFVar6->data_" & (field_expression "pFVar6->data_" identifier -> field_identifier))) + number_literal) ))))) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_001e3900(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}\n\n" (function_definition "void FUN_001e3900(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_001e3900(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "undefined8 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "ulong *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "ulong *extraout_RDX;" type_identifier (pointer_declarator "*extraout_RDX" * identifier) ;) (declaration "ulong *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "undefined8 *local_d0;" type_identifier (pointer_declarator "*local_d0" * identifier) ;) (declaration "long local_c0;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_b8 [3];" type_identifier (array_declarator "local_b8 [3]" identifier [ number_literal ]) ;) (declaration "long local_a0;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "long local_88;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (expression_statement "local_d0 = *(undefined8 **)(param_1 + 0x1e8);" (assignment_expression "local_d0 = *(undefined8 **)(param_1 + 0x1e8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x1e8)" * (cast_expression "(undefined8 **)(param_1 + 0x1e8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) ))))) ;) (if_statement "if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(local_d0 != *(undefined8 **)(param_1 + 0x1f0))" ( (binary_expression "local_d0 != *(undefined8 **)(param_1 + 0x1f0)" identifier != (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" * (cast_expression "(undefined8 **)(param_1 + 0x1f0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) )) (compound_statement "{\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "local_c0 = (long)local_d0 + 0x2c;" (assignment_expression "local_c0 = (long)local_d0 + 0x2c" identifier = (binary_expression "(long)local_d0 + 0x2c" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal)) ;) (expression_statement "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }" if (parenthesized_expression "(lVar6 != 0)" ( (binary_expression "lVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }" { (expression_statement "puVar9 = local_b8;" (assignment_expression "puVar9 = local_b8" identifier = identifier) ;) (do_statement "do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);" do (compound_statement "{\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      }" { (if_statement "if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" if (parenthesized_expression "(((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0'))" ( (binary_expression "((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')" (parenthesized_expression "((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0))" ( (binary_expression "(*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)" (parenthesized_expression "(*(char *)(lVar6 + 0x5051) == '\0')" ( (binary_expression "*(char *)(lVar6 + 0x5051) == '\0'" (pointer_expression "*(char *)(lVar6 + 0x5051)" * (cast_expression "(char *)(lVar6 + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x5051)" ( (binary_expression "lVar6 + 0x5051" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0" (assignment_expression "iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9)" identifier = (call_expression "FUN_002e3a40(local_d0,".eh_frame",puVar9)" identifier (argument_list "(local_d0,".eh_frame",puVar9)" ( identifier , (string_literal "".eh_frame"" " string_content ") , identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')" ( (comma_expression "cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0'" (assignment_expression "cVar4 = FUN_001c1c80(param_1,&local_c0)" identifier = (call_expression "FUN_001c1c80(param_1,&local_c0)" identifier (argument_list "(param_1,&local_c0)" ( identifier , (pointer_expression "&local_c0" & identifier) )))) , (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }" { (expression_statement "local_b8[0] = 0;" (assignment_expression "local_b8[0] = 0" (subscript_expression "local_b8[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_b8[1] = 0;" (assignment_expression "local_b8[1] = 0" (subscript_expression "local_b8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "FUN_001e3660(param_1,local_b8);" (call_expression "FUN_001e3660(param_1,local_b8)" identifier (argument_list "(param_1,local_b8)" ( identifier , identifier ))) ;) (expression_statement "FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));" (call_expression "FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5))" identifier (argument_list "(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5))" ( identifier , identifier , (pointer_expression "*(undefined8 *)(local_a0 + 0x10)" * (cast_expression "(undefined8 *)(local_a0 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_a0 + 0x10)" ( (binary_expression "local_a0 + 0x10" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined8 *)(local_88 + 0x10)" * (cast_expression "(undefined8 *)(local_88 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_88 + 0x10)" ( (binary_expression "local_88 + 0x10" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(local_d0 + 4)" * (cast_expression "(undefined4 *)(local_d0 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) )))) , (pointer_expression "&local_c0" & identifier) , (pointer_expression "*(undefined4 *)((long)local_d0 + 0x24)" * (cast_expression "(undefined4 *)((long)local_d0 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x24)" ( (binary_expression "(long)local_d0 + 0x24" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(local_d0 + 5)" * (cast_expression "(undefined4 *)(local_d0 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 5)" ( (binary_expression "local_d0 + 5" identifier + number_literal) )))) ))) ;) (expression_statement "FUN_001bd060(local_b8);" (call_expression "FUN_001bd060(local_b8)" identifier (argument_list "(local_b8)" ( identifier ))) ;) (expression_statement "puVar9 = extraout_RDX;" (assignment_expression "puVar9 = extraout_RDX" identifier = identifier) ;) }) (else_clause "else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" else (compound_statement "{\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" { (expression_statement "puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);" (assignment_expression "puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4)" identifier = (binary_expression "(ulong *)(ulong)*(uint *)(local_d0 + 4)" (cast_expression "(ulong *)(ulong)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(local_d0 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 4)" ( (binary_expression "local_d0 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10)" ( (binary_expression "(ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10" (cast_expression "(ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3)" ( (binary_expression "*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3" (binary_expression "*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x58)" * (cast_expression "(long *)(param_1 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }" { (expression_statement "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0017c650("../../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 "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }" if (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0)" ( (binary_expression "*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0" (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" * (cast_expression "(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + (long)puVar10 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "(long)puVar10 * 8" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) != number_literal) )) (compound_statement "{\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }" { (expression_statement "iVar5 = *(int *)((long)local_d0 + 0x24);" (assignment_expression "iVar5 = *(int *)((long)local_d0 + 0x24)" identifier = (pointer_expression "*(int *)((long)local_d0 + 0x24)" * (cast_expression "(int *)((long)local_d0 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x24)" ( (binary_expression "(long)local_d0 + 0x24" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);" (assignment_expression "uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" identifier = (call_expression "FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" identifier (argument_list "(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" ( identifier , identifier , identifier , (pointer_expression "*local_d0" * identifier) , (pointer_expression "&local_c0" & identifier) , (pointer_expression "*(undefined4 *)(local_c0 + 4)" * (cast_expression "(undefined4 *)(local_c0 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c0 + 4)" ( (binary_expression "local_c0 + 4" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(local_d0 + 5)" * (cast_expression "(undefined4 *)(local_d0 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_d0 + 5)" ( (binary_expression "local_d0 + 5" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + (long)puVar10 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "(long)puVar10 * 8" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) = identifier) ;) (if_statement "if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" if (parenthesized_expression "(local_b8[0] == 0xffffffffffffffff)" ( (binary_expression "local_b8[0] == 0xffffffffffffffff" (subscript_expression "local_b8[0]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }" { (expression_statement "puVar9 = *(ulong **)(param_1 + 0xe0);" (assignment_expression "puVar9 = *(ulong **)(param_1 + 0xe0)" identifier = (pointer_expression "*(ulong **)(param_1 + 0xe0)" * (cast_expression "(ulong **)(param_1 + 0xe0)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) ;) (expression_statement "*(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];" (assignment_expression "*(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0]" (pointer_expression "*(int *)((long)puVar9 + (long)puVar10 * 4)" * (cast_expression "(int *)((long)puVar9 + (long)puVar10 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + (long)puVar10 * 4)" ( (binary_expression "(long)puVar9 + (long)puVar10 * 4" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(long)puVar10 * 4" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal)) )))) = (cast_expression "(int)local_b8[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_b8[0]" identifier [ number_literal ]))) ;) (if_statement "if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }" { (expression_statement "*(undefined1 *)(param_1 + 0x78) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x78) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x78)" * (cast_expression "(undefined1 *)(param_1 + 0x78)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" else (compound_statement "{\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" { (expression_statement "puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));" (assignment_expression "puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" identifier = (cast_expression "(ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" ( (binary_expression "(long)puVar10 * 4 + *(long *)(param_1 + 0xe0)" (binary_expression "(long)puVar10 * 4" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) * number_literal) + (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) ))))) )))) ;) (if_statement "if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }" if (parenthesized_expression "(local_b8[0] != (local_b8[0] & 0xffffffff))" ( (binary_expression "local_b8[0] != (local_b8[0] & 0xffffffff)" (subscript_expression "local_b8[0]" identifier [ number_literal ]) != (parenthesized_expression "(local_b8[0] & 0xffffffff)" ( (binary_expression "local_b8[0] & 0xffffffff" (subscript_expression "local_b8[0]" identifier [ number_literal ]) & number_literal) ))) )) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }" { (expression_statement "FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_0017c650("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "*(int *)puVar9 = (int)local_b8[0];" (assignment_expression "*(int *)puVar9 = (int)local_b8[0]" (pointer_expression "*(int *)puVar9" * (cast_expression "(int *)puVar9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(int)local_b8[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_b8[0]" identifier [ number_literal ]))) ;) }))) })) }))) (expression_statement "puVar7 = *(undefined8 **)(param_1 + 0x1f0);" (assignment_expression "puVar7 = *(undefined8 **)(param_1 + 0x1f0)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" * (cast_expression "(undefined8 **)(param_1 + 0x1f0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) ))))) ;) (if_statement "if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }" if (parenthesized_expression "(local_d0 + 0xb == puVar7)" ( (binary_expression "local_d0 + 0xb == puVar7" (binary_expression "local_d0 + 0xb" identifier + number_literal) == identifier) )) (compound_statement "{\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }" { (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x1e8);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x1e8)" identifier = (pointer_expression "*(undefined8 **)(param_1 + 0x1e8)" * (cast_expression "(undefined8 **)(param_1 + 0x1e8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1e8)" ( (binary_expression "param_1 + 0x1e8" identifier + number_literal) ))))) ;) (expression_statement "puVar12 = puVar3;" (assignment_expression "puVar12 = puVar3" identifier = identifier) ;) (if_statement "if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }" if (parenthesized_expression "(puVar7 != puVar3)" ( (binary_expression "puVar7 != puVar3" identifier != identifier) )) (compound_statement "{\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }" { (do_statement "do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);" do (compound_statement "{\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            }" { (if_statement "if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }" if (parenthesized_expression "((undefined8 *)*puVar12 != puVar12 + 2)" ( (binary_expression "(undefined8 *)*puVar12 != puVar12 + 2" (cast_expression "(undefined8 *)*puVar12" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar12" * identifier)) != (binary_expression "puVar12 + 2" identifier + number_literal)) )) (compound_statement "{\n                FUN_002dac60();\n              }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar12 = puVar12 + 0xb;" (assignment_expression "puVar12 = puVar12 + 0xb" identifier = (binary_expression "puVar12 + 0xb" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar7 != puVar12)" ( (binary_expression "puVar7 != puVar12" identifier != identifier) )) ;) (expression_statement "*(undefined8 **)(param_1 + 0x1f0) = puVar3;" (assignment_expression "*(undefined8 **)(param_1 + 0x1f0) = puVar3" (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" * (cast_expression "(undefined8 **)(param_1 + 0x1f0)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x1f0)" ( (binary_expression "param_1 + 0x1f0" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_001e3b95;" goto statement_identifier ;) })) (expression_statement "local_c0 = (long)local_d0 + 0x84;" (assignment_expression "local_c0 = (long)local_d0 + 0x84" identifier = (binary_expression "(long)local_d0 + 0x84" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal)) ;) (expression_statement "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_d0 = local_d0 + 0xb;" (assignment_expression "local_d0 = local_d0 + 0xb" identifier = (binary_expression "local_d0 + 0xb" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar6 != 0)" ( (binary_expression "lVar6 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (labeled_statement "LAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);" statement_identifier : (expression_statement "local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);" (assignment_expression "local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c)" identifier = (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x200) + 0x2c)" ( (binary_expression "*(long *)(param_1 + 0x200) + 0x2c" (pointer_expression "*(long *)(param_1 + 0x200)" * (cast_expression "(long *)(param_1 + 0x200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) )))) + number_literal) )))) ;)) (if_statement "if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208))" ( (binary_expression "*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)" (pointer_expression "*(long *)(param_1 + 0x200)" * (cast_expression "(long *)(param_1 + 0x200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x200)" ( (binary_expression "param_1 + 0x200" identifier + number_literal) )))) != (pointer_expression "*(long *)(param_1 + 0x208)" * (cast_expression "(long *)(param_1 + 0x208)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) ))))) )) (compound_statement "{\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }" { (do_statement "do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);" do (compound_statement "{\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    }" { (expression_statement "local_b8[0] = (ulong)local_d0;" (assignment_expression "local_b8[0] = (ulong)local_d0" (subscript_expression "local_b8[0]" identifier [ number_literal ]) = (cast_expression "(ulong)local_d0" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar1 = *(uint *)((long)local_d0 + 0x1c);" (assignment_expression "uVar1 = *(uint *)((long)local_d0 + 0x1c)" identifier = (pointer_expression "*(uint *)((long)local_d0 + 0x1c)" * (cast_expression "(uint *)((long)local_d0 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x1c)" ( (binary_expression "(long)local_d0 + 0x1c" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)((long)local_d0 - 0xc);" (assignment_expression "uVar2 = *(uint *)((long)local_d0 - 0xc)" identifier = (pointer_expression "*(uint *)((long)local_d0 - 0xc)" * (cast_expression "(uint *)((long)local_d0 - 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 - 0xc)" ( (binary_expression "(long)local_d0 - 0xc" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - number_literal) ))))) ;) (expression_statement "uVar13 = (ulong)uVar2;" (assignment_expression "uVar13 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" if (parenthesized_expression "(uVar1 < 0xff00)" ( (binary_expression "uVar1 < 0xff00" identifier < number_literal) )) (compound_statement "{\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" { (expression_statement "lVar6 = *(long *)(param_1 + 0x50);" (assignment_expression "lVar6 = *(long *)(param_1 + 0x50)" identifier = (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);" (assignment_expression "lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8)" identifier = (pointer_expression "*(long *)(lVar6 + (ulong)uVar1 * 8)" * (cast_expression "(long *)(lVar6 + (ulong)uVar1 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + (ulong)uVar1 * 8)" ( (binary_expression "lVar6 + (ulong)uVar1 * 8" identifier + (binary_expression "(ulong)uVar1 * 8" (cast_expression "(ulong)uVar1" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) (if_statement "if (lVar11 == 0) goto LAB_001e3cc2;" if (parenthesized_expression "(lVar11 == 0)" ( (binary_expression "lVar11 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001e3cc2;" goto statement_identifier ;)) (labeled_statement "LAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);" statement_identifier : (expression_statement "puVar7 = (undefined8 *)FUN_002d9490(0x28);" (assignment_expression "puVar7 = (undefined8 *)FUN_002d9490(0x28)" identifier = (cast_expression "(undefined8 *)FUN_002d9490(0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;)) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "puVar7[1] = 0;" (assignment_expression "puVar7[1] = 0" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[2] = 0;" (assignment_expression "puVar7[2] = 0" (subscript_expression "puVar7[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[3] = 0;" (assignment_expression "puVar7[3] = 0" (subscript_expression "puVar7[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar7[4] = 0;" (assignment_expression "puVar7[4] = 0" (subscript_expression "puVar7[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" if (parenthesized_expression "(*(uint *)(param_1 + 0x38) <= uVar2)" ( (binary_expression "*(uint *)(param_1 + 0x38) <= uVar2" (pointer_expression "*(uint *)(param_1 + 0x38)" * (cast_expression "(uint *)(param_1 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" { (expression_statement "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;" (assignment_expression "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7" (pointer_expression "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8)" * (cast_expression "(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(long **)(param_1 + 0x68) + uVar13 * 8)" ( (binary_expression "**(long **)(param_1 + 0x68) + uVar13 * 8" (pointer_expression "**(long **)(param_1 + 0x68)" * (pointer_expression "*(long **)(param_1 + 0x68)" * (cast_expression "(long **)(param_1 + 0x68)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);" (assignment_expression "uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11)" identifier = (call_expression "FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11)" identifier (argument_list "(param_2,param_1,uVar13,local_b8,lVar11)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8)" * (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + uVar13 * 8)" ( (binary_expression "*(long *)(param_1 + 0x50) + uVar13 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (binary_expression "*(long *)(param_1 + 0xe0) + uVar13 * 4" (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = number_literal) ;) }) (else_clause "else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" else (compound_statement "{\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" { (expression_statement "FUN_00167570(param_1 + 0xf8);" (call_expression "FUN_00167570(param_1 + 0xf8)" identifier (argument_list "(param_1 + 0xf8)" ( (binary_expression "param_1 + 0xf8" identifier + number_literal) ))) ;) (expression_statement "lVar6 = *(long *)(param_1 + 0x50);" (assignment_expression "lVar6 = *(long *)(param_1 + 0x50)" identifier = (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);" (assignment_expression "lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" identifier = (pointer_expression "*(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" * (cast_expression "(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" ( (binary_expression "lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8" identifier + (binary_expression "(ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8" (call_expression "(ulong)(uVar1 + *(int *)(param_1 + 0x110))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar1 + *(int *)(param_1 + 0x110))" ( (binary_expression "uVar1 + *(int *)(param_1 + 0x110)" identifier + (pointer_expression "*(int *)(param_1 + 0x110)" * (cast_expression "(int *)(param_1 + 0x110)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x110)" ( (binary_expression "param_1 + 0x110" identifier + number_literal) ))))) ))) * number_literal)) ))))) ;) (if_statement "if (lVar11 != 0) goto LAB_001e3be1;" if (parenthesized_expression "(lVar11 != 0)" ( (binary_expression "lVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001e3be1;" goto statement_identifier ;)) (labeled_statement "LAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(lVar6 + uVar13 * 8) = 0;" (assignment_expression "*(undefined8 *)(lVar6 + uVar13 * 8) = 0" (pointer_expression "*(undefined8 *)(lVar6 + uVar13 * 8)" * (cast_expression "(undefined8 *)(lVar6 + uVar13 * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar13 * 8)" ( (binary_expression "lVar6 + uVar13 * 8" identifier + (binary_expression "uVar13 * 8" identifier * number_literal)) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" * (cast_expression "(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0xe0) + uVar13 * 4)" ( (binary_expression "*(long *)(param_1 + 0xe0) + uVar13 * 4" (pointer_expression "*(long *)(param_1 + 0xe0)" * (cast_expression "(long *)(param_1 + 0xe0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe0)" ( (binary_expression "param_1 + 0xe0" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) )))) = number_literal) ;) }))) (expression_statement "lVar6 = (long)local_d0 + 0x2c;" (assignment_expression "lVar6 = (long)local_d0 + 0x2c" identifier = (binary_expression "(long)local_d0 + 0x2c" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal)) ;) (expression_statement "local_d0 = (undefined8 *)((long)local_d0 + 0x58);" (assignment_expression "local_d0 = (undefined8 *)((long)local_d0 + 0x58)" identifier = (cast_expression "(undefined8 *)((long)local_d0 + 0x58)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_d0 + 0x58)" ( (binary_expression "(long)local_d0 + 0x58" (cast_expression "(long)local_d0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(*(long *)(param_1 + 0x208) != lVar6)" ( (binary_expression "*(long *)(param_1 + 0x208) != lVar6" (pointer_expression "*(long *)(param_1 + 0x208)" * (cast_expression "(long *)(param_1 + 0x208)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x208)" ( (binary_expression "param_1 + 0x208" identifier + number_literal) )))) != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) ))) <= 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 (sized_type_specifier long)) ) IDENT) * LIT)) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * IDENT) , (pointer_expression & IDENT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 (sized_type_specifier long)) ) IDENT) * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT)) )))) = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) (subscript_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 (binary_expression IDENT + LIT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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) )))) + LIT) )))) ;)) (if_statement if (parenthesized_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) ))))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_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 IDENT + LIT) ))))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 IDENT * LIT)) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_001e3900(long param_1,undefined8 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001e3900(long param_1,undefined8 param_2)" (identifier "FUN_001e3900") (parameter_list "(long param_1,undefined8 param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  undefined8 *puVar3;\n  char cVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 *puVar7;\n  undefined8 uVar8;\n  ulong *puVar9;\n  ulong *extraout_RDX;\n  ulong *puVar10;\n  long lVar11;\n  undefined8 *puVar12;\n  ulong uVar13;\n  undefined8 *local_d0;\n  long local_c0;\n  ulong local_b8 [3];\n  long local_a0;\n  undefined8 local_98;\n  long local_88;\n  undefined8 local_80;\n  undefined8 local_78;\n  undefined8 local_68;\n  undefined8 local_50;\n  \n  local_d0 = *(undefined8 **)(param_1 + 0x1e8);\n  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);\n  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "undefined8 *puVar3;" (type_identifier "undefined8") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined8 *puVar7;" (type_identifier "undefined8") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "ulong *puVar9;" (type_identifier "ulong") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "ulong *extraout_RDX;" (type_identifier "ulong") (pointer_declarator "*extraout_RDX" (* "*") (identifier "extraout_RDX")) (; ";")) (declaration "ulong *puVar10;" (type_identifier "ulong") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "undefined8 *puVar12;" (type_identifier "undefined8") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "ulong uVar13;" (type_identifier "ulong") (identifier "uVar13") (; ";")) (declaration "undefined8 *local_d0;" (type_identifier "undefined8") (pointer_declarator "*local_d0" (* "*") (identifier "local_d0")) (; ";")) (declaration "long local_c0;" (sized_type_specifier "long" (long "long")) (identifier "local_c0") (; ";")) (declaration "ulong local_b8 [3];" (type_identifier "ulong") (array_declarator "local_b8 [3]" (identifier "local_b8") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "long local_a0;" (sized_type_specifier "long" (long "long")) (identifier "local_a0") (; ";")) (declaration "undefined8 local_98;" (type_identifier "undefined8") (identifier "local_98") (; ";")) (declaration "long local_88;" (sized_type_specifier "long" (long "long")) (identifier "local_88") (; ";")) (declaration "undefined8 local_80;" (type_identifier "undefined8") (identifier "local_80") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (expression_statement "local_d0 = *(undefined8 **)(param_1 + 0x1e8);" (assignment_expression "local_d0 = *(undefined8 **)(param_1 + 0x1e8)" (identifier "local_d0") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x1e8)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x1e8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1e8)" (( "(") (binary_expression "param_1 + 0x1e8" (identifier "param_1") (+ "+") (number_literal "0x1e8")) () ")"))))) (; ";")) (if_statement "if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(local_d0 != *(undefined8 **)(param_1 + 0x1f0))" (( "(") (binary_expression "local_d0 != *(undefined8 **)(param_1 + 0x1f0)" (identifier "local_d0") (!= "!=") (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x1f0)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")"))))) () ")")) (compound_statement "{\n    local_c0 = (long)local_d0 + 0x2c;\n    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "local_c0 = (long)local_d0 + 0x2c;" (assignment_expression "local_c0 = (long)local_d0 + 0x2c" (identifier "local_c0") (= "=") (binary_expression "(long)local_d0 + 0x2c" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar6 != 0) {\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }" (if "if") (parenthesized_expression "(lVar6 != 0)" (( "(") (binary_expression "lVar6 != 0" (identifier "lVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar9 = local_b8;\n      do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);\n    }" ({ "{") (expression_statement "puVar9 = local_b8;" (assignment_expression "puVar9 = local_b8" (identifier "puVar9") (= "=") (identifier "local_b8")) (; ";")) (do_statement "do {\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      } while (lVar6 != 0);" (do "do") (compound_statement "{\n        if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }\n        puVar7 = *(undefined8 **)(param_1 + 0x1f0);\n        if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }\n        local_c0 = (long)local_d0 + 0x84;\n        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n        local_d0 = local_d0 + 0xb;\n      }" ({ "{") (if_statement "if (((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }\n        else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" (if "if") (parenthesized_expression "(((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0'))" (( "(") (binary_expression "((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&\n           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')" (parenthesized_expression "((*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0))" (( "(") (binary_expression "(*(char *)(lVar6 + 0x5051) == '\0') &&\n            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)" (parenthesized_expression "(*(char *)(lVar6 + 0x5051) == '\0')" (( "(") (binary_expression "*(char *)(lVar6 + 0x5051) == '\0'" (pointer_expression "*(char *)(lVar6 + 0x5051)" (* "*") (cast_expression "(char *)(lVar6 + 0x5051)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x5051)" (( "(") (binary_expression "lVar6 + 0x5051" (identifier "lVar6") (+ "+") (number_literal "0x5051")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)" (( "(") (comma_expression "iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0" (assignment_expression "iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9)" (identifier "iVar5") (= "=") (call_expression "FUN_002e3a40(local_d0,".eh_frame",puVar9)" (identifier "FUN_002e3a40") (argument_list "(local_d0,".eh_frame",puVar9)" (( "(") (identifier "local_d0") (, ",") (string_literal "".eh_frame"" (" """) (string_content ".eh_frame") (" """)) (, ",") (identifier "puVar9") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')" (( "(") (comma_expression "cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0'" (assignment_expression "cVar4 = FUN_001c1c80(param_1,&local_c0)" (identifier "cVar4") (= "=") (call_expression "FUN_001c1c80(param_1,&local_c0)" (identifier "FUN_001c1c80") (argument_list "(param_1,&local_c0)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_c0" (& "&") (identifier "local_c0")) () ")")))) (, ",") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          local_b8[0] = 0;\n          local_b8[1] = 0;\n          local_a0 = 0;\n          local_88 = 0;\n          local_78 = 0;\n          local_68 = 0;\n          local_50 = 0;\n                    \n          FUN_001e3660(param_1,local_b8);\n          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));\n          FUN_001bd060(local_b8);\n          puVar9 = extraout_RDX;\n        }" ({ "{") (expression_statement "local_b8[0] = 0;" (assignment_expression "local_b8[0] = 0" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8[1] = 0;" (assignment_expression "local_b8[1] = 0" (subscript_expression "local_b8[1]" (identifier "local_b8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a0 = 0;" (assignment_expression "local_a0 = 0" (identifier "local_a0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_001e3660(param_1,local_b8);" (call_expression "FUN_001e3660(param_1,local_b8)" (identifier "FUN_001e3660") (argument_list "(param_1,local_b8)" (( "(") (identifier "param_1") (, ",") (identifier "local_b8") () ")"))) (; ";")) (expression_statement "FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5));" (call_expression "FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5))" (identifier "FUN_001c1df0") (argument_list "(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,\n                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),\n                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),\n                       *(undefined4 *)(local_d0 + 5))" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(undefined8 *)(local_a0 + 0x10)" (* "*") (cast_expression "(undefined8 *)(local_a0 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_a0 + 0x10)" (( "(") (binary_expression "local_a0 + 0x10" (identifier "local_a0") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "local_98") (, ",") (pointer_expression "*(undefined8 *)(local_88 + 0x10)" (* "*") (cast_expression "(undefined8 *)(local_88 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_88 + 0x10)" (( "(") (binary_expression "local_88 + 0x10" (identifier "local_88") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "local_80") (, ",") (pointer_expression "*(undefined4 *)(local_d0 + 4)" (* "*") (cast_expression "(undefined4 *)(local_d0 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_d0 + 4)" (( "(") (binary_expression "local_d0 + 4" (identifier "local_d0") (+ "+") (number_literal "4")) () ")")))) (, ",") (pointer_expression "&local_c0" (& "&") (identifier "local_c0")) (, ",") (pointer_expression "*(undefined4 *)((long)local_d0 + 0x24)" (* "*") (cast_expression "(undefined4 *)((long)local_d0 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d0 + 0x24)" (( "(") (binary_expression "(long)local_d0 + 0x24" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x24")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(local_d0 + 5)" (* "*") (cast_expression "(undefined4 *)(local_d0 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_d0 + 5)" (( "(") (binary_expression "local_d0 + 5" (identifier "local_d0") (+ "+") (number_literal "5")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_001bd060(local_b8);" (call_expression "FUN_001bd060(local_b8)" (identifier "FUN_001bd060") (argument_list "(local_b8)" (( "(") (identifier "local_b8") () ")"))) (; ";")) (expression_statement "puVar9 = extraout_RDX;" (assignment_expression "puVar9 = extraout_RDX" (identifier "puVar9") (= "=") (identifier "extraout_RDX")) (; ";")) (} "}")) (else_clause "else {\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" (else "else") (compound_statement "{\n          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);\n          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }\n          puVar9 = puVar10;\n          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }\n        }" ({ "{") (expression_statement "puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);" (assignment_expression "puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4)" (identifier "puVar10") (= "=") (binary_expression "(ulong *)(ulong)*(uint *)(local_d0 + 4)" (cast_expression "(ulong *)(ulong)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (* "*") (cast_expression "(uint *)(local_d0 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_d0 + 4)" (( "(") (binary_expression "local_d0 + 4" (identifier "local_d0") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }" (if "if") (parenthesized_expression "((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10)" (( "(") (binary_expression "(ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10" (cast_expression "(ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3)" (( "(") (binary_expression "*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3" (binary_expression "*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50)" (pointer_expression "*(long *)(param_1 + 0x58)" (* "*") (cast_expression "(long *)(param_1 + 0x58)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "puVar10")) () ")")) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");\n          }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_0017c650("../../gold/object.h",0x50b,"is_section_included")" (identifier "FUN_0017c650") (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 "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" (identifier "puVar9") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }" (if "if") (parenthesized_expression "(*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0" (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x50) + (long)puVar10 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (binary_expression "(long)puVar10 * 8" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (* "*") (number_literal "8"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar5 = *(int *)((long)local_d0 + 0x24);\n            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);\n            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;\n            if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }\n          }" ({ "{") (expression_statement "iVar5 = *(int *)((long)local_d0 + 0x24);" (assignment_expression "iVar5 = *(int *)((long)local_d0 + 0x24)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)((long)local_d0 + 0x24)" (* "*") (cast_expression "(int *)((long)local_d0 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d0 + 0x24)" (( "(") (binary_expression "(long)local_d0 + 0x24" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8);" (assignment_expression "uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" (identifier "uVar8") (= "=") (call_expression "FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" (identifier "FUN_001ba1a0") (argument_list "(param_2,param_1,puVar10,*local_d0,&local_c0,\n                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),\n                                 local_b8)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "puVar10") (, ",") (pointer_expression "*local_d0" (* "*") (identifier "local_d0")) (, ",") (pointer_expression "&local_c0" (& "&") (identifier "local_c0")) (, ",") (pointer_expression "*(undefined4 *)(local_c0 + 4)" (* "*") (cast_expression "(undefined4 *)(local_c0 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c0 + 4)" (( "(") (binary_expression "local_c0 + 4" (identifier "local_c0") (+ "+") (number_literal "4")) () ")")))) (, ",") (identifier "iVar5") (, ",") (pointer_expression "*(undefined4 *)(local_d0 + 5)" (* "*") (cast_expression "(undefined4 *)(local_d0 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_d0 + 5)" (( "(") (binary_expression "local_d0 + 5" (identifier "local_d0") (+ "+") (number_literal "5")) () ")")))) (, ",") (identifier "local_b8") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x50) + (long)puVar10 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x50) + (long)puVar10 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (binary_expression "(long)puVar10 * 8" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (local_b8[0] == 0xffffffffffffffff) {\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }\n            else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" (if "if") (parenthesized_expression "(local_b8[0] == 0xffffffffffffffff)" (( "(") (binary_expression "local_b8[0] == 0xffffffffffffffff" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0xffffffffffffffff")) () ")")) (compound_statement "{\n              puVar9 = *(ulong **)(param_1 + 0xe0);\n              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];\n              if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }\n            }" ({ "{") (expression_statement "puVar9 = *(ulong **)(param_1 + 0xe0);" (assignment_expression "puVar9 = *(ulong **)(param_1 + 0xe0)" (identifier "puVar9") (= "=") (pointer_expression "*(ulong **)(param_1 + 0xe0)" (* "*") (cast_expression "(ulong **)(param_1 + 0xe0)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")"))))) (; ";")) (expression_statement "*(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];" (assignment_expression "*(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0]" (pointer_expression "*(int *)((long)puVar9 + (long)puVar10 * 4)" (* "*") (cast_expression "(int *)((long)puVar9 + (long)puVar10 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar9 + (long)puVar10 * 4)" (( "(") (binary_expression "(long)puVar9 + (long)puVar10 * 4" (cast_expression "(long)puVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar9")) (+ "+") (binary_expression "(long)puVar10 * 4" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (* "*") (number_literal "4"))) () ")")))) (= "=") (cast_expression "(int)local_b8[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")))) (; ";")) (if_statement "if (iVar5 != 0) {\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined1 *)(param_1 + 0x78) = 1;\n              }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x78) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x78) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x78)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x78)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" (else "else") (compound_statement "{\n              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));\n              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(int *)puVar9 = (int)local_b8[0];\n            }" ({ "{") (expression_statement "puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));" (assignment_expression "puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" (identifier "puVar9") (= "=") (cast_expression "(ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 * 4 + *(long *)(param_1 + 0xe0))" (( "(") (binary_expression "(long)puVar10 * 4 + *(long *)(param_1 + 0xe0)" (binary_expression "(long)puVar10 * 4" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(long *)(param_1 + 0xe0)" (* "*") (cast_expression "(long *)(param_1 + 0xe0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")"))))) () ")")))) (; ";")) (if_statement "if (local_b8[0] != (local_b8[0] & 0xffffffff)) {\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }" (if "if") (parenthesized_expression "(local_b8[0] != (local_b8[0] & 0xffffffff))" (( "(") (binary_expression "local_b8[0] != (local_b8[0] & 0xffffffff)" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (!= "!=") (parenthesized_expression "(local_b8[0] & 0xffffffff)" (( "(") (binary_expression "local_b8[0] & 0xffffffff" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (& "&") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n                    \n                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");\n              }" ({ "{") (expression_statement "FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_0017c650("../../gold/gold.h",0xc0,"convert_types")" (identifier "FUN_0017c650") (argument_list "("../../gold/gold.h",0xc0,"convert_types")" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)puVar9 = (int)local_b8[0];" (assignment_expression "*(int *)puVar9 = (int)local_b8[0]" (pointer_expression "*(int *)puVar9" (* "*") (cast_expression "(int *)puVar9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (= "=") (cast_expression "(int)local_b8[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")))) (; ";")) (} "}")))) (} "}"))) (} "}")))) (expression_statement "puVar7 = *(undefined8 **)(param_1 + 0x1f0);" (assignment_expression "puVar7 = *(undefined8 **)(param_1 + 0x1f0)" (identifier "puVar7") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x1f0)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")"))))) (; ";")) (if_statement "if (local_d0 + 0xb == puVar7) {\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }" (if "if") (parenthesized_expression "(local_d0 + 0xb == puVar7)" (( "(") (binary_expression "local_d0 + 0xb == puVar7" (binary_expression "local_d0 + 0xb" (identifier "local_d0") (+ "+") (number_literal "0xb")) (== "==") (identifier "puVar7")) () ")")) (compound_statement "{\n          puVar3 = *(undefined8 **)(param_1 + 0x1e8);\n          puVar12 = puVar3;\n          if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }\n          goto LAB_001e3b95;\n        }" ({ "{") (expression_statement "puVar3 = *(undefined8 **)(param_1 + 0x1e8);" (assignment_expression "puVar3 = *(undefined8 **)(param_1 + 0x1e8)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined8 **)(param_1 + 0x1e8)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x1e8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1e8)" (( "(") (binary_expression "param_1 + 0x1e8" (identifier "param_1") (+ "+") (number_literal "0x1e8")) () ")"))))) (; ";")) (expression_statement "puVar12 = puVar3;" (assignment_expression "puVar12 = puVar3" (identifier "puVar12") (= "=") (identifier "puVar3")) (; ";")) (if_statement "if (puVar7 != puVar3) {\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }" (if "if") (parenthesized_expression "(puVar7 != puVar3)" (( "(") (binary_expression "puVar7 != puVar3" (identifier "puVar7") (!= "!=") (identifier "puVar3")) () ")")) (compound_statement "{\n            do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);\n            *(undefined8 **)(param_1 + 0x1f0) = puVar3;\n          }" ({ "{") (do_statement "do {\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            } while (puVar7 != puVar12);" (do "do") (compound_statement "{\n              if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }\n              puVar12 = puVar12 + 0xb;\n            }" ({ "{") (if_statement "if ((undefined8 *)*puVar12 != puVar12 + 2) {\n                FUN_002dac60();\n              }" (if "if") (parenthesized_expression "((undefined8 *)*puVar12 != puVar12 + 2)" (( "(") (binary_expression "(undefined8 *)*puVar12 != puVar12 + 2" (cast_expression "(undefined8 *)*puVar12" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar12" (* "*") (identifier "puVar12"))) (!= "!=") (binary_expression "puVar12 + 2" (identifier "puVar12") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n                FUN_002dac60();\n              }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar12 = puVar12 + 0xb;" (assignment_expression "puVar12 = puVar12 + 0xb" (identifier "puVar12") (= "=") (binary_expression "puVar12 + 0xb" (identifier "puVar12") (+ "+") (number_literal "0xb"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar7 != puVar12)" (( "(") (binary_expression "puVar7 != puVar12" (identifier "puVar7") (!= "!=") (identifier "puVar12")) () ")")) (; ";")) (expression_statement "*(undefined8 **)(param_1 + 0x1f0) = puVar3;" (assignment_expression "*(undefined8 **)(param_1 + 0x1f0) = puVar3" (pointer_expression "*(undefined8 **)(param_1 + 0x1f0)" (* "*") (cast_expression "(undefined8 **)(param_1 + 0x1f0)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x1f0)" (( "(") (binary_expression "param_1 + 0x1f0" (identifier "param_1") (+ "+") (number_literal "0x1f0")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (} "}"))) (goto_statement "goto LAB_001e3b95;" (goto "goto") (statement_identifier "LAB_001e3b95") (; ";")) (} "}"))) (expression_statement "local_c0 = (long)local_d0 + 0x84;" (assignment_expression "local_c0 = (long)local_d0 + 0x84" (identifier "local_c0") (= "=") (binary_expression "(long)local_d0 + 0x84" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x84"))) (; ";")) (expression_statement "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_d0 = local_d0 + 0xb;" (assignment_expression "local_d0 = local_d0 + 0xb" (identifier "local_d0") (= "=") (binary_expression "local_d0 + 0xb" (identifier "local_d0") (+ "+") (number_literal "0xb"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar6 != 0)" (( "(") (binary_expression "lVar6 != 0" (identifier "lVar6") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_001e3b95:\n  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);" (statement_identifier "LAB_001e3b95") (: ":") (expression_statement "local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);" (assignment_expression "local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c)" (identifier "local_d0") (= "=") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x200) + 0x2c)" (( "(") (binary_expression "*(long *)(param_1 + 0x200) + 0x2c" (pointer_expression "*(long *)(param_1 + 0x200)" (* "*") (cast_expression "(long *)(param_1 + 0x200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x200)" (( "(") (binary_expression "param_1 + 0x200" (identifier "param_1") (+ "+") (number_literal "0x200")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (; ";"))) (if_statement "if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208))" (( "(") (binary_expression "*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)" (pointer_expression "*(long *)(param_1 + 0x200)" (* "*") (cast_expression "(long *)(param_1 + 0x200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x200)" (( "(") (binary_expression "param_1 + 0x200" (identifier "param_1") (+ "+") (number_literal "0x200")) () ")")))) (!= "!=") (pointer_expression "*(long *)(param_1 + 0x208)" (* "*") (cast_expression "(long *)(param_1 + 0x208)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x208)" (( "(") (binary_expression "param_1 + 0x208" (identifier "param_1") (+ "+") (number_literal "0x208")) () ")"))))) () ")")) (compound_statement "{\n    do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);\n  }" ({ "{") (do_statement "do {\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    } while (*(long *)(param_1 + 0x208) != lVar6);" (do "do") (compound_statement "{\n      local_b8[0] = (ulong)local_d0;\n      uVar1 = *(uint *)((long)local_d0 + 0x1c);\n      uVar2 = *(uint *)((long)local_d0 - 0xc);\n      uVar13 = (ulong)uVar2;\n      if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      lVar6 = (long)local_d0 + 0x2c;\n      local_d0 = (undefined8 *)((long)local_d0 + 0x58);\n    }" ({ "{") (expression_statement "local_b8[0] = (ulong)local_d0;" (assignment_expression "local_b8[0] = (ulong)local_d0" (subscript_expression "local_b8[0]" (identifier "local_b8") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(ulong)local_d0" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_d0"))) (; ";")) (expression_statement "uVar1 = *(uint *)((long)local_d0 + 0x1c);" (assignment_expression "uVar1 = *(uint *)((long)local_d0 + 0x1c)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)((long)local_d0 + 0x1c)" (* "*") (cast_expression "(uint *)((long)local_d0 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d0 + 0x1c)" (( "(") (binary_expression "(long)local_d0 + 0x1c" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(uint *)((long)local_d0 - 0xc);" (assignment_expression "uVar2 = *(uint *)((long)local_d0 - 0xc)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)((long)local_d0 - 0xc)" (* "*") (cast_expression "(uint *)((long)local_d0 - 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d0 - 0xc)" (( "(") (binary_expression "(long)local_d0 - 0xc" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (- "-") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar13 = (ulong)uVar2;" (assignment_expression "uVar13 = (ulong)uVar2" (identifier "uVar13") (= "=") (cast_expression "(ulong)uVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar2"))) (; ";")) (if_statement "if (uVar1 < 0xff00) {\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }\n      else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" (if "if") (parenthesized_expression "(uVar1 < 0xff00)" (( "(") (binary_expression "uVar1 < 0xff00" (identifier "uVar1") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);\n        if (lVar11 == 0) goto LAB_001e3cc2;\nLAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);\n        *puVar7 = 0;\n        puVar7[1] = 0;\n        puVar7[2] = 0;\n        puVar7[3] = 0;\n        puVar7[4] = 0;\n        if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }\n        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;\n        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);\n        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" ({ "{") (expression_statement "lVar6 = *(long *)(param_1 + 0x50);" (assignment_expression "lVar6 = *(long *)(param_1 + 0x50)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);" (assignment_expression "lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(lVar6 + (ulong)uVar1 * 8)" (* "*") (cast_expression "(long *)(lVar6 + (ulong)uVar1 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + (ulong)uVar1 * 8)" (( "(") (binary_expression "lVar6 + (ulong)uVar1 * 8" (identifier "lVar6") (+ "+") (binary_expression "(ulong)uVar1 * 8" (cast_expression "(ulong)uVar1" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar1")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar11 == 0) goto LAB_001e3cc2;" (if "if") (parenthesized_expression "(lVar11 == 0)" (( "(") (binary_expression "lVar11 == 0" (identifier "lVar11") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e3cc2;" (goto "goto") (statement_identifier "LAB_001e3cc2") (; ";"))) (labeled_statement "LAB_001e3be1:\n        puVar7 = (undefined8 *)FUN_002d9490(0x28);" (statement_identifier "LAB_001e3be1") (: ":") (expression_statement "puVar7 = (undefined8 *)FUN_002d9490(0x28);" (assignment_expression "puVar7 = (undefined8 *)FUN_002d9490(0x28)" (identifier "puVar7") (= "=") (cast_expression "(undefined8 *)FUN_002d9490(0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x28)" (identifier "FUN_002d9490") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";"))) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[1] = 0;" (assignment_expression "puVar7[1] = 0" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[2] = 0;" (assignment_expression "puVar7[2] = 0" (subscript_expression "puVar7[2]" (identifier "puVar7") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[3] = 0;" (assignment_expression "puVar7[3] = 0" (subscript_expression "puVar7[3]" (identifier "puVar7") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar7[4] = 0;" (assignment_expression "puVar7[4] = 0" (subscript_expression "puVar7[4]" (identifier "puVar7") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x38) <= uVar2) {\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x38) <= uVar2)" (( "(") (binary_expression "*(uint *)(param_1 + 0x38) <= uVar2" (pointer_expression "*(uint *)(param_1 + 0x38)" (* "*") (cast_expression "(uint *)(param_1 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (<= "<=") (identifier "uVar2")) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x541,"set_relocatable_relocs")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x541") (, ",") (string_literal ""set_relocatable_relocs"" (" """) (string_content "set_relocatable_relocs") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;" (assignment_expression "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7" (pointer_expression "*(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8)" (* "*") (cast_expression "(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(long **)(param_1 + 0x68) + uVar13 * 8)" (( "(") (binary_expression "**(long **)(param_1 + 0x68) + uVar13 * 8" (pointer_expression "**(long **)(param_1 + 0x68)" (* "*") (pointer_expression "*(long **)(param_1 + 0x68)" (* "*") (cast_expression "(long **)(param_1 + 0x68)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) (+ "+") (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "puVar7")) (; ";")) (expression_statement "uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);" (assignment_expression "uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11)" (identifier "uVar8") (= "=") (call_expression "FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11)" (identifier "FUN_001b2340") (argument_list "(param_2,param_1,uVar13,local_b8,lVar11)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "uVar13") (, ",") (identifier "local_b8") (, ",") (identifier "lVar11") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;" (assignment_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8" (pointer_expression "*(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8)" (* "*") (cast_expression "(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x50) + uVar13 * 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x50) + uVar13 * 8" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" (* "*") (cast_expression "(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0xe0) + uVar13 * 4)" (( "(") (binary_expression "*(long *)(param_1 + 0xe0) + uVar13 * 4" (pointer_expression "*(long *)(param_1 + 0xe0)" (* "*") (cast_expression "(long *)(param_1 + 0xe0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" (else "else") (compound_statement "{\n        FUN_00167570(param_1 + 0xf8);\n        lVar6 = *(long *)(param_1 + 0x50);\n        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);\n        if (lVar11 != 0) goto LAB_001e3be1;\nLAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;\n        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;\n      }" ({ "{") (expression_statement "FUN_00167570(param_1 + 0xf8);" (call_expression "FUN_00167570(param_1 + 0xf8)" (identifier "FUN_00167570") (argument_list "(param_1 + 0xf8)" (( "(") (binary_expression "param_1 + 0xf8" (identifier "param_1") (+ "+") (number_literal "0xf8")) () ")"))) (; ";")) (expression_statement "lVar6 = *(long *)(param_1 + 0x50);" (assignment_expression "lVar6 = *(long *)(param_1 + 0x50)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);" (assignment_expression "lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" (identifier "lVar11") (= "=") (pointer_expression "*(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" (* "*") (cast_expression "(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8)" (( "(") (binary_expression "lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8" (identifier "lVar6") (+ "+") (binary_expression "(ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8" (call_expression "(ulong)(uVar1 + *(int *)(param_1 + 0x110))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar1 + *(int *)(param_1 + 0x110))" (( "(") (binary_expression "uVar1 + *(int *)(param_1 + 0x110)" (identifier "uVar1") (+ "+") (pointer_expression "*(int *)(param_1 + 0x110)" (* "*") (cast_expression "(int *)(param_1 + 0x110)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x110)" (( "(") (binary_expression "param_1 + 0x110" (identifier "param_1") (+ "+") (number_literal "0x110")) () ")"))))) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar11 != 0) goto LAB_001e3be1;" (if "if") (parenthesized_expression "(lVar11 != 0)" (( "(") (binary_expression "lVar11 != 0" (identifier "lVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_001e3be1;" (goto "goto") (statement_identifier "LAB_001e3be1") (; ";"))) (labeled_statement "LAB_001e3cc2:\n        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;" (statement_identifier "LAB_001e3cc2") (: ":") (expression_statement "*(undefined8 *)(lVar6 + uVar13 * 8) = 0;" (assignment_expression "*(undefined8 *)(lVar6 + uVar13 * 8) = 0" (pointer_expression "*(undefined8 *)(lVar6 + uVar13 * 8)" (* "*") (cast_expression "(undefined8 *)(lVar6 + uVar13 * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + uVar13 * 8)" (( "(") (binary_expression "lVar6 + uVar13 * 8" (identifier "lVar6") (+ "+") (binary_expression "uVar13 * 8" (identifier "uVar13") (* "*") (number_literal "8"))) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" (* "*") (cast_expression "(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0xe0) + uVar13 * 4)" (( "(") (binary_expression "*(long *)(param_1 + 0xe0) + uVar13 * 4" (pointer_expression "*(long *)(param_1 + 0xe0)" (* "*") (cast_expression "(long *)(param_1 + 0xe0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe0)" (( "(") (binary_expression "param_1 + 0xe0" (identifier "param_1") (+ "+") (number_literal "0xe0")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")))) (expression_statement "lVar6 = (long)local_d0 + 0x2c;" (assignment_expression "lVar6 = (long)local_d0 + 0x2c" (identifier "lVar6") (= "=") (binary_expression "(long)local_d0 + 0x2c" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "local_d0 = (undefined8 *)((long)local_d0 + 0x58);" (assignment_expression "local_d0 = (undefined8 *)((long)local_d0 + 0x58)" (identifier "local_d0") (= "=") (cast_expression "(undefined8 *)((long)local_d0 + 0x58)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_d0 + 0x58)" (( "(") (binary_expression "(long)local_d0 + 0x58" (cast_expression "(long)local_d0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_d0")) (+ "+") (number_literal "0x58")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(long *)(param_1 + 0x208) != lVar6)" (( "(") (binary_expression "*(long *)(param_1 + 0x208) != lVar6" (pointer_expression "*(long *)(param_1 + 0x208)" (* "*") (cast_expression "(long *)(param_1 + 0x208)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x208)" (( "(") (binary_expression "param_1 + 0x208" (identifier "param_1") (+ "+") (number_literal "0x208")) () ")")))) (!= "!=") (identifier "lVar6")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_layout_deferred_sections(Sized_relobj_file<32,_false> * this,
   Layout * layout) */

void __thiscall
var_1::var_4<32,var_5>::do_layout_deferred_sections
          (var_4<32,var_5> *this,type_7 *layout)

{
  type_1 var_18;
  type_1 var_30;
  type_2 var_20;
  type_2 var_21;
  type_2 var_24;
  type_3 *pFVar6;
  bool bVar7;
  int var_9;
  type_4 *var_7;
  type_5 *rr;
  type_6 *var_27;
  type_2 ppOVar11;
  type_7 *pLVar12;
  type_8 var_14;
  type_2 var_26;
  type_2 var_19;
  type_9 shdr;
  type_10 var_32;
  
  var_19 = (this->deferred_layout_).
             super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
             ._M_impl._M_start;
  if (var_19 !=
      (this->deferred_layout_).
      super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
      ._M_impl._M_finish) {
    shdr.p_ = (var_6<32> *)var_19->shdr_data_;
    var_7 = parameters->options_;
    if (var_7 != (type_4 *)0x0) {
      do {
        if ((((var_7->relocatable_).value == false) &&
            (var_9 = std::type_11::var_8((type_11 *)var_19,".eh_frame"), var_9 == 0)) &&
           (bVar7 = var_10(this,&shdr), bVar7)) {
          var_32.section_headers = (type_3 *)0x0;
          var_32.section_names = (type_3 *)0x0;
          var_32.symbols = (type_3 *)0x0;
          var_32.symbol_names = (type_3 *)0x0;
          var_32.versym = (type_3 *)0x0;
          var_32.verdef = (type_3 *)0x0;
          var_32.verneed = (type_3 *)0x0;
                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */
          var_11(this,&var_32);
          pLVar12 = layout;
          var_12
                    (this,layout,(var_32.symbols)->data_,var_32.symbols_size,(var_32.symbol_names)->data_,
                     var_32.symbol_names_size,var_19->shndx_,&shdr,var_19->reloc_shndx_,
                     var_19->reloc_type_);
          Read_symbols_data::~type_10(&var_32,(int)pLVar12);
        }
        else {
          ppOVar11 = (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                     super__Vector_base<var_1::type_6*,var_13::var_16<var_1::type_6*>var_3>
                     ._M_impl._M_start;
          var_14 = (type_8)var_19->shndx_;
          if ((type_8)((long)(this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                            super__Vector_base<var_1::type_6*,var_13::var_16<var_1::type_6*>var_3>
                            ._M_impl._M_finish - (long)ppOVar11 >> 3) <= var_14) {
                    /* WARNING: Subroutine does not return */
            var_15("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar11[var_14] != (type_6 *)0x0) {
            var_18 = var_19->reloc_shndx_;
            var_27 = type_7::layout<32,var_5>
                                (layout,this,var_19->shndx_,(var_19->name_)._M_dataplus._M_p,
                                 &shdr,(shdr.p_)->sh_type,var_18,var_19->reloc_type_,(type_12 *)&var_32);
            (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
            super__Vector_base<var_1::type_6*,var_13::var_16<var_1::type_6*>var_3>.
            _M_impl._M_start[var_14] = var_27;
            if (var_32.section_headers == (type_3 *)0xffffffffffffffff) {
              (this->super_Sized_relobj<32,var_5>).section_offsets_.
              super__Vector_base<var_17,var_13::var_16<var_17>var_3>._M_impl._M_start
              [var_14] = (type_1)var_32.section_headers;
              if (var_18 != 0) {
                (this->super_Sized_relobj<32,var_5>).super_Relobj.
                relocs_must_follow_section_writes_ = true;
              }
            }
            else {
              if (var_32.section_headers != (type_3 *)((type_8)var_32.section_headers & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                var_15("../../gold/gold.h",0xc0,"convert_types");
              }
              (this->super_Sized_relobj<32,var_5>).section_offsets_.
              super__Vector_base<var_17,var_13::var_16<var_17>var_3>._M_impl._M_start
              [var_14] = (type_1)var_32.section_headers;
            }
          }
        }
        var_20 = (this->deferred_layout_).
                 super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
                 ._M_impl._M_finish;
        if (var_19 + 1 == var_20) {
          var_21 = (this->deferred_layout_).
                   super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
                   ._M_impl._M_start;
          var_26 = var_21;
          if (var_20 != var_21) {
            do {
              var_24 = (var_26->name_)._M_dataplus._M_p;
              if ((anon_union_16_2_edb7204a_for_basic_string<var_22,var_13::char_traits<var_22>,var_13::var_16<var_22>var_3>var_23
                   *)var_24 != &(var_26->name_).field_2) {
                var_25(var_24);
              }
              var_26 = var_26 + 1;
            } while (var_20 != var_26);
            (this->deferred_layout_).
            super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
            ._M_impl._M_finish = var_21;
          }
          goto LAB_001e3b95;
        }
        shdr.p_ = (var_6<32> *)var_19[1].shdr_data_;
        var_7 = parameters->options_;
        var_19 = var_19 + 1;
      } while (var_7 != (type_4 *)0x0);
    }
                    /* WARNING: Subroutine does not return */
    var_15("../../gold/parameters.h",0x5c,"options");
  }
LAB_001e3b95:
  var_20 = (this->deferred_layout_relocs_).
           super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
           ._M_impl._M_start;
  var_19 = (type_2)var_20->shdr_data_;
  if (var_20 != (this->deferred_layout_relocs_).
                super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
                ._M_impl._M_finish) {
    do {
      var_32.section_headers = (type_3 *)var_19;
      var_18 = *(type_1 *)((long)&((type_3 *)((long)var_19 + 0x18))->file_ + 4);
      var_30 = *(type_1 *)((long)&((type_3 *)((long)var_19 + -0x18))->view_ + 4);
      if (var_18 < 0xff00) {
        ppOVar11 = (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                   super__Vector_base<var_1::type_6*,var_13::var_16<var_1::type_6*>var_3>
                   ._M_impl._M_start;
        var_27 = ppOVar11[var_18];
        if (var_27 == (type_6 *)0x0) goto LAB_001e3cc2;
LAB_001e3be1:
        rr = (type_5 *)var_28(0x28);
        (rr->reloc_strategies_).super__Vector_base<var_29,var_13::var_16<var_29>var_3>.
        _M_impl._M_start = (type_2)0x0;
        (rr->reloc_strategies_).super__Vector_base<var_29,var_13::var_16<var_29>var_3>.
        _M_impl._M_finish = (type_2)0x0;
        (rr->reloc_strategies_).super__Vector_base<var_29,var_13::var_16<var_29>var_3>.
        _M_impl._M_end_of_storage = (type_2)0x0;
        rr->output_reloc_count_ = 0;
        rr->posd_ = (type_13 *)0x0;
        if ((this->super_Sized_relobj<32,var_5>).super_Relobj.super_Object.shnum_ <= var_30) {
                    /* WARNING: Subroutine does not return */
          var_15("../../gold/object.h",0x541,"set_relocatable_relocs");
        }
        (((this->super_Sized_relobj<32,var_5>).super_Relobj.map_to_relocatable_relocs_)->
        super__Vector_base<var_1::type_5*,var_13::var_16<var_1::type_5*>var_3>var_31).
        _M_impl._M_start[var_30] = rr;
        var_27 = type_7::layout_reloc<32,var_5>
                            (layout,this,var_30,(type_9<32,var_5> *var_31)&var_32,var_27,rr);
        (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
        super__Vector_base<var_1::type_6*,var_13::var_16<var_1::type_6*>var_3>._M_impl.
        _M_start[var_30] = var_27;
        (this->super_Sized_relobj<32,var_5>).section_offsets_.
        super__Vector_base<var_17,var_13::var_16<var_17>var_3>._M_impl._M_start[var_30] =
             0xffffffff;
      }
      else {
        elfcpp::Elf_file<32,var_5,_gold::Object>::var_33(&this->elf_file_);
        ppOVar11 = (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                   super__Vector_base<var_1::type_6*,var_13::var_16<var_1::type_6*>var_3>
                   ._M_impl._M_start;
        var_27 = ppOVar11[var_18 + (this->elf_file_).large_shndx_offset_];
        if (var_27 != (type_6 *)0x0) goto LAB_001e3be1;
LAB_001e3cc2:
        ppOVar11[var_30] = (type_6 *)0x0;
        (this->super_Sized_relobj<32,var_5>).section_offsets_.
        super__Vector_base<var_17,var_13::var_16<var_17>var_3>._M_impl._M_start[var_30] =
             0xffffffff;
      }
      pFVar6 = (type_3 *)((long)var_19 + 0x18);
      var_19 = (type_2)&((type_3 *)((long)var_19 + 0x48))->data_;
    } while ((this->deferred_layout_relocs_).
             super__Vector_base<var_1::var_4<32,var_5>::var_2,var_13::var_16<var_1::var_4<32,var_5>::var_2>var_3>
             ._M_impl._M_finish != (type_2)((long)&pFVar6->data_ + 4));
  }
  return;
}


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

void MASKED(long param_1,undefined8 param_2)

{
  uint uVar1;
  uint uVar2;
  undefined8 *puVar3;
  char cVar4;
  int iVar5;
  long lVar6;
  undefined8 *puVar7;
  undefined8 uVar8;
  ulong *puVar9;
  ulong *extraout_RDX;
  ulong *puVar10;
  long lVar11;
  undefined8 *puVar12;
  ulong uVar13;
  undefined8 *local_d0;
  long local_c0;
  ulong local_b8 [3];
  long local_a0;
  undefined8 local_98;
  long local_88;
  undefined8 local_80;
  undefined8 local_78;
  undefined8 local_68;
  undefined8 local_50;
  
  local_d0 = *(undefined8 **)(param_1 + 0x1e8);
  if (local_d0 != *(undefined8 **)(param_1 + 0x1f0)) {
    local_c0 = (long)local_d0 + 0x2c;
    lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    if (lVar6 != 0) {
      puVar9 = local_b8;
      do {
        if (((*(char *)(lVar6 + 0x5051) == '\0') &&
            (iVar5 = FUN_002e3a40(local_d0,".eh_frame",puVar9), iVar5 == 0)) &&
           (cVar4 = FUN_001c1c80(param_1,&local_c0), cVar4 != '\0')) {
          local_b8[0] = 0;
          local_b8[1] = 0;
          local_a0 = 0;
          local_88 = 0;
          local_78 = 0;
          local_68 = 0;
          local_50 = 0;
                    /* try { // try from 001e3ad8 to 001e3b1a has its CatchHandler @ 001e3d4f */
          FUN_001e3660(param_1,local_b8);
          FUN_001c1df0(param_1,param_2,*(undefined8 *)(local_a0 + 0x10),local_98,
                       *(undefined8 *)(local_88 + 0x10),local_80,*(undefined4 *)(local_d0 + 4),
                       &local_c0,*(undefined4 *)((long)local_d0 + 0x24),
                       *(undefined4 *)(local_d0 + 5));
          FUN_001bd060(local_b8);
          puVar9 = extraout_RDX;
        }
        else {
          puVar10 = (ulong *)(ulong)*(uint *)(local_d0 + 4);
          if ((ulong *)(*(long *)(param_1 + 0x58) - *(long *)(param_1 + 0x50) >> 3) <= puVar10) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/object.h",0x50b,"is_section_included");
          }
          puVar9 = puVar10;
          if (*(long *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) != 0) {
            iVar5 = *(int *)((long)local_d0 + 0x24);
            uVar8 = FUN_001ba1a0(param_2,param_1,puVar10,*local_d0,&local_c0,
                                 *(undefined4 *)(local_c0 + 4),iVar5,*(undefined4 *)(local_d0 + 5),
                                 local_b8);
            *(undefined8 *)(*(long *)(param_1 + 0x50) + (long)puVar10 * 8) = uVar8;
            if (local_b8[0] == 0xffffffffffffffff) {
              puVar9 = *(ulong **)(param_1 + 0xe0);
              *(int *)((long)puVar9 + (long)puVar10 * 4) = (int)local_b8[0];
              if (iVar5 != 0) {
                *(undefined1 *)(param_1 + 0x78) = 1;
              }
            }
            else {
              puVar9 = (ulong *)((long)puVar10 * 4 + *(long *)(param_1 + 0xe0));
              if (local_b8[0] != (local_b8[0] & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
                FUN_0017c650("../../gold/gold.h",0xc0,"convert_types");
              }
              *(int *)puVar9 = (int)local_b8[0];
            }
          }
        }
        puVar7 = *(undefined8 **)(param_1 + 0x1f0);
        if (local_d0 + 0xb == puVar7) {
          puVar3 = *(undefined8 **)(param_1 + 0x1e8);
          puVar12 = puVar3;
          if (puVar7 != puVar3) {
            do {
              if ((undefined8 *)*puVar12 != puVar12 + 2) {
                FUN_002dac60();
              }
              puVar12 = puVar12 + 0xb;
            } while (puVar7 != puVar12);
            *(undefined8 **)(param_1 + 0x1f0) = puVar3;
          }
          goto LAB_001e3b95;
        }
        local_c0 = (long)local_d0 + 0x84;
        lVar6 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
        local_d0 = local_d0 + 0xb;
      } while (lVar6 != 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x5c,"options");
  }
LAB_001e3b95:
  local_d0 = (undefined8 *)(*(long *)(param_1 + 0x200) + 0x2c);
  if (*(long *)(param_1 + 0x200) != *(long *)(param_1 + 0x208)) {
    do {
      local_b8[0] = (ulong)local_d0;
      uVar1 = *(uint *)((long)local_d0 + 0x1c);
      uVar2 = *(uint *)((long)local_d0 - 0xc);
      uVar13 = (ulong)uVar2;
      if (uVar1 < 0xff00) {
        lVar6 = *(long *)(param_1 + 0x50);
        lVar11 = *(long *)(lVar6 + (ulong)uVar1 * 8);
        if (lVar11 == 0) goto LAB_001e3cc2;
LAB_001e3be1:
        puVar7 = (undefined8 *)FUN_002d9490(0x28);
        *puVar7 = 0;
        puVar7[1] = 0;
        puVar7[2] = 0;
        puVar7[3] = 0;
        puVar7[4] = 0;
        if (*(uint *)(param_1 + 0x38) <= uVar2) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/object.h",0x541,"set_relocatable_relocs");
        }
        *(undefined8 **)(**(long **)(param_1 + 0x68) + uVar13 * 8) = puVar7;
        uVar8 = FUN_001b2340(param_2,param_1,uVar13,local_b8,lVar11);
        *(undefined8 *)(*(long *)(param_1 + 0x50) + uVar13 * 8) = uVar8;
        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;
      }
      else {
        FUN_00167570(param_1 + 0xf8);
        lVar6 = *(long *)(param_1 + 0x50);
        lVar11 = *(long *)(lVar6 + (ulong)(uVar1 + *(int *)(param_1 + 0x110)) * 8);
        if (lVar11 != 0) goto LAB_001e3be1;
LAB_001e3cc2:
        *(undefined8 *)(lVar6 + uVar13 * 8) = 0;
        *(undefined4 *)(*(long *)(param_1 + 0xe0) + uVar13 * 4) = 0xffffffff;
      }
      lVar6 = (long)local_d0 + 0x2c;
      local_d0 = (undefined8 *)((long)local_d0 + 0x58);
    } while (*(long *)(param_1 + 0x208) != lVar6);
  }
  return;
}

