
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": 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)

{
  File_read *pFVar1;
  uint reloc_shndx;
  pointer pcVar2;
  File_read *pFVar3;
  View *pVVar4;
  bool bVar5;
  General_options *pGVar6;
  int iVar7;
  Relocatable_relocs *rr;
  Output_section *pOVar8;
  pointer ppOVar9;
  pointer pDVar10;
  pointer pDVar11;
  pointer pDVar12;
  File_view *pFVar13;
  uint uVar14;
  Shdr shdr;
  Read_symbols_data sd;
  
  pDVar11 = (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 (pDVar11 !=
      (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> *)pDVar11->shdr_data_;
    pGVar6 = parameters->options_;
    if (pGVar6 != (General_options *)0x0) {
      do {
        if ((((pGVar6->relocatable_).value == false) &&
            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&
           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {
          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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */
          base_read_symbols(this,&sd);
          uVar14 = pDVar11->reloc_type_;
          layout_eh_frame_section
                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,
                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);
          Read_symbols_data::~Read_symbols_data(&sd,uVar14);
          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {
LAB_002b36e8:
            pDVar11 = (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;
            pDVar12 = pDVar11;
            if (pDVar11 != pDVar10) {
              do {
                pcVar2 = (pDVar12->name_)._M_dataplus._M_p;
                if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                     *)pcVar2 != &(pDVar12->name_).field_2) {
                  operator_delete(pcVar2);
                }
                pDVar12 = pDVar12 + 1;
              } while (pDVar10 != pDVar12);
              (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 = pDVar11;
            }
            goto LAB_002b3729;
          }
        }
        else {
          ppOVar9 = (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;
          uVar14 = pDVar11->shndx_;
          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar9[uVar14] != (Output_section *)0x0) {
            reloc_shndx = pDVar11->reloc_shndx_;
            pOVar8 = Layout::layout<32,_false>
                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,
                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;
            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {
              (this->super_Sized_relobj<32,_false>).section_offsets_.
              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
              [uVar14] = 0xffffffff;
              if (reloc_shndx != 0) {
                (this->super_Sized_relobj<32,_false>).super_Relobj.
                relocs_must_follow_section_writes_ = true;
              }
            }
            else {
              if (sd.section_names != (File_view *)0x0) {
                    /* 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
              [uVar14] = (uint)sd.section_headers;
            }
          }
          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;
        }
        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;
        pGVar6 = parameters->options_;
        pDVar11 = pDVar11 + 1;
      } while (pGVar6 != (General_options *)0x0);
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
  }
LAB_002b3729:
  pDVar11 = (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;
  pFVar13 = (File_view *)pDVar11->shdr_data_;
  if (pDVar11 ==
      (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) {
    return;
  }
  do {
    pFVar3 = pFVar13[-1].file_;
    pVVar4 = pFVar13[2].view_;
    sd.section_headers = pFVar13;
    if (pVVar4 < (View *)0xff00) {
      ppOVar9 = (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;
      pOVar8 = ppOVar9[(int)pVVar4];
      if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;
LAB_002b382d:
      ppOVar9[(int)pFVar3] = (Output_section *)0x0;
      (this->super_Sized_relobj<32,_false>).section_offsets_.
      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]
           = 0xffffffff;
      if ((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)&pFVar13[3].view_) {
        return;
      }
    }
    else {
      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);
      ppOVar9 = (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;
      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];
      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;
LAB_002b3766:
      rr = (Relocatable_relocs *)operator_new(0x14);
      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;
      (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 (pFVar1 <= pFVar3) {
                    /* 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[(int)pFVar3] = rr;
      pOVar8 = Layout::layout_reloc<32,_false>
                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;
      (this->super_Sized_relobj<32,_false>).section_offsets_.
      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]
           = 0xffffffff;
      if ((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)&pFVar13[3].view_) {
        return;
      }
    }
    pFVar13 = (File_view *)&pFVar13[6].view_;
  } while( true );
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_002b3500(int param_1,undefined4 param_2)

{
  uint uVar1;
  uint uVar2;
  char cVar3;
  int iVar4;
  undefined4 *puVar5;
  undefined4 uVar6;
  uint uVar7;
  undefined4 *puVar8;
  int iVar9;
  undefined4 *puVar10;
  undefined4 *local_60;
  uint local_5c;
  uint local_58;
  int local_50;
  undefined4 local_4c;
  int local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_34;
  undefined4 local_28;
  
  puVar5 = *(undefined4 **)(param_1 + 0x120);
  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {
    local_60 = puVar5 + 9;
    iVar4 = *(int *)(DAT_005ea7c8 + 8);
    if (iVar4 != 0) {
      do {
        if (((*(char *)(iVar4 + 0x318d) == '\0') &&
            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&
           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {
          local_5c = 0;
          local_58 = 0;
          local_50 = 0;
          local_44 = 0;
          local_3c = 0;
          local_34 = 0;
          local_28 = 0;
                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */
          FUN_002b3240(param_1,&local_5c);
          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,
                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],
                       puVar5[8]);
          FUN_0028b670(&local_5c);
          puVar8 = *(undefined4 **)(param_1 + 0x124);
          if (puVar5 + 0x13 == puVar8) {
LAB_002b36e8:
            puVar5 = *(undefined4 **)(param_1 + 0x120);
            puVar10 = puVar5;
            if (puVar5 != puVar8) {
              do {
                if ((undefined4 *)*puVar10 != puVar10 + 2) {
                  FUN_003ae080((undefined4 *)*puVar10);
                }
                puVar10 = puVar10 + 0x13;
              } while (puVar8 != puVar10);
              *(undefined4 **)(param_1 + 0x124) = puVar5;
            }
            goto LAB_002b3729;
          }
        }
        else {
          uVar7 = puVar5[6];
          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {
                    /* WARNING: Subroutine does not return */
            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");
          }
          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {
            iVar4 = puVar5[7];
            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]
                                 ,&local_5c);
            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;
            if ((local_58 & local_5c) == 0xffffffff) {
              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;
              if (iVar4 != 0) {
                *(undefined1 *)(param_1 + 0x4c) = 1;
              }
            }
            else {
              if (local_58 != 0) {
                    /* WARNING: Subroutine does not return */
                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");
              }
              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;
            }
          }
          puVar8 = *(undefined4 **)(param_1 + 0x124);
          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;
        }
        local_60 = puVar5 + 0x1c;
        iVar4 = *(int *)(DAT_005ea7c8 + 8);
        puVar5 = puVar5 + 0x13;
      } while (iVar4 != 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/parameters.h",0x5c,"options");
  }
LAB_002b3729:
  uVar7 = *(int *)(param_1 + 300) + 0x24;
  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {
    return;
  }
  do {
    uVar1 = *(uint *)(uVar7 - 0xc);
    uVar2 = *(uint *)(uVar7 + 0x1c);
    local_5c = uVar7;
    if (uVar2 < 0xff00) {
      iVar4 = *(int *)(param_1 + 0x38);
      iVar9 = *(int *)(iVar4 + uVar2 * 4);
      if (iVar9 != 0) goto LAB_002b3766;
LAB_002b382d:
      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;
      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;
      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {
        return;
      }
    }
    else {
      FUN_00106f60(param_1 + 0x90);
      iVar4 = *(int *)(param_1 + 0x38);
      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);
      if (iVar9 == 0) goto LAB_002b382d;
LAB_002b3766:
      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);
      uVar2 = *(uint *)(param_1 + 0x28);
      *puVar5 = 0;
      puVar5[1] = 0;
      puVar5[2] = 0;
      puVar5[3] = 0;
      puVar5[4] = 0;
      if (uVar2 <= uVar1) {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");
      }
      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;
      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);
      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;
      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;
      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {
        return;
      }
    }
    uVar7 = uVar7 + 0x4c;
  } while( true );
}


CALL 0x00074f02
ADD EAX,0x336afb
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x7c
MOV ESI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + -0x70],EAX
MOV EDI,dword ptr [ESI + 0x120]
CMP EDI,dword ptr [ESI + 0x124]
JZ 0x002b3729
MOV EDX,EAX
LEA EAX,[EDI + 0x24]
MOV dword ptr [EBP + -0x5c],EAX
LEA EAX,[EDX + 0x7c8]
MOV dword ptr [EBP + -0x74],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x002b3884
LEA EDX,[EBP + -0x58]
MOV dword ptr [EBP + 0xffffff7c],EDX
LEA EDX,[EBP + -0x5c]
MOV dword ptr [EBP + -0x7c],EDX
JMP 0x002b3615
MOV ECX,dword ptr [ESI + 0x38]
MOV EAX,dword ptr [ESI + 0x3c]
MOV EBX,dword ptr [EDI + 0x18]
SUB EAX,ECX
SAR EAX,0x2
MOV dword ptr [EBP + -0x6c],EBX
CMP EBX,EAX
JNC 0x002b389f
MOV EAX,dword ptr [EBP + -0x6c]
MOV ECX,dword ptr [ECX + EAX*0x4]
LEA EDX,[EAX*0x4 + 0x0]
TEST ECX,ECX
JZ 0x002b35ec
MOV EAX,dword ptr [EDI + 0x1c]
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH dword ptr [EBP + 0xffffff7c]
PUSH dword ptr [EDI + 0x20]
MOV dword ptr [EBP + -0x80],EAX
PUSH EAX
MOV EAX,dword ptr [EBP + -0x5c]
MOV dword ptr [EBP + -0x78],EDX
PUSH dword ptr [EAX + 0x4]
PUSH dword ptr [EBP + -0x7c]
PUSH dword ptr [EDI]
PUSH dword ptr [EBP + -0x6c]
PUSH ESI
PUSH dword ptr [EBP + 0xc]
CALL 0x00288400
MOV ECX,dword ptr [ESI + 0x38]
MOV EDX,dword ptr [EBP + -0x6c]
ADD ESP,0x30
MOV dword ptr [ECX + EDX*0x4],EAX
MOV ECX,dword ptr [EBP + -0x54]
MOV EAX,dword ptr [EBP + -0x58]
MOV EDX,dword ptr [EBP + -0x78]
MOV EBX,ECX
AND EBX,EAX
CMP EBX,-0x1
JZ 0x002b3860
ADD EDX,dword ptr [ESI + 0x84]
TEST ECX,ECX
JNZ 0x002b38db
MOV dword ptr [EDX],EAX
MOV EAX,dword ptr [ESI + 0x124]
ADD EDI,0x4c
MOV ECX,EAX
CMP EDI,EAX
JZ 0x002b36e8
LEA EAX,[EDI + 0x24]
MOV dword ptr [EBP + -0x5c],EAX
MOV EAX,dword ptr [EBP + -0x74]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x002b3884
CMP byte ptr [EAX + 0x318d],0x0
JNZ 0x002b3560
MOV EBX,dword ptr [EBP + -0x70]
SUB ESP,0x8
LEA EAX,[EBX + 0xffe65dee]
PUSH EAX
PUSH EDI
CALL 0x003b8640
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x002b3560
SUB ESP,0x8
PUSH dword ptr [EBP + -0x7c]
PUSH ESI
CALL 0x0028ff90
ADD ESP,0x10
TEST AL,AL
JZ 0x002b3560
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff7c]
PUSH ESI
MOV dword ptr [EBP + -0x58],0x0
MOV dword ptr [EBP + -0x54],0x0
MOV dword ptr [EBP + -0x4c],0x0
MOV dword ptr [EBP + -0x40],0x0
MOV dword ptr [EBP + -0x38],0x0
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x24],0x0
CALL 0x002b3240
POP EBX
POP EAX
PUSH dword ptr [EDI + 0x20]
MOV EAX,dword ptr [EBP + -0x40]
PUSH dword ptr [EDI + 0x1c]
PUSH dword ptr [EBP + -0x7c]
PUSH dword ptr [EDI + 0x18]
PUSH dword ptr [EBP + -0x3c]
PUSH dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EBP + -0x4c]
PUSH dword ptr [EBP + -0x48]
PUSH dword ptr [EAX + 0x8]
PUSH dword ptr [EBP + 0xc]
PUSH ESI
CALL 0x00290130
ADD ESP,0x24
PUSH dword ptr [EBP + 0xffffff7c]
ADD EDI,0x4c
CALL 0x0028b670
MOV EAX,dword ptr [ESI + 0x124]
ADD ESP,0x10
MOV ECX,EAX
CMP EDI,EAX
JNZ 0x002b35ff
LEA ESI,[ESI]
MOV EAX,dword ptr [ESI + 0x120]
MOV dword ptr [EBP + -0x74],EAX
CMP EAX,ECX
JZ 0x002b3729
MOV dword ptr [EBP + -0x6c],ECX
MOV EDI,EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EDI]
LEA EDX,[EDI + 0x8]
CMP EAX,EDX
JZ 0x002b3718
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
CALL 0x003ae080
ADD ESP,0x10
ADD EDI,0x4c
CMP dword ptr [EBP + -0x6c],EDI
JNZ 0x002b3700
MOV EAX,dword ptr [EBP + -0x74]
MOV dword ptr [ESI + 0x124],EAX
LEA EDX,[ESI + 0x90]
MOV EAX,dword ptr [ESI + 0x12c]
MOV dword ptr [EBP + -0x7c],EDX
LEA EDX,[EBP + -0x58]
LEA EDI,[EAX + 0x24]
MOV dword ptr [EBP + -0x78],EDX
CMP EAX,dword ptr [ESI + 0x130]
JNZ 0x002b37f3
JMP 0x002b3852
MOV EAX,dword ptr [ESI + 0x38]
MOV ECX,dword ptr [EAX + EBX*0x4]
TEST ECX,ECX
JZ 0x002b382d
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x70]
MOV dword ptr [EBP + -0x74],ECX
PUSH 0x14
CALL 0x003ac4d0
MOV ECX,dword ptr [EBP + -0x6c]
ADD ESP,0x10
CMP ECX,dword ptr [ESI + 0x28]
MOV dword ptr [EAX],0x0
MOV ECX,dword ptr [EBP + -0x74]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
JNC 0x002b38bd
MOV EBX,dword ptr [ESI + 0x44]
MOV EDX,dword ptr [EBP + -0x6c]
SUB ESP,0x8
MOV EBX,dword ptr [EBX]
MOV dword ptr [EBX + EDX*0x4],EAX
MOV EBX,dword ptr [EBP + -0x70]
PUSH EAX
PUSH ECX
PUSH dword ptr [EBP + -0x78]
PUSH EDX
PUSH ESI
PUSH dword ptr [EBP + 0xc]
CALL 0x00280310
MOV ECX,dword ptr [ESI + 0x38]
MOV EDX,dword ptr [EBP + -0x6c]
ADD ESP,0x20
MOV dword ptr [ECX + EDX*0x4],EAX
MOV EAX,dword ptr [ESI + 0x84]
MOV dword ptr [EAX + EDX*0x4],0xffffffff
LEA EAX,[EDI + 0x4c]
ADD EDI,0x28
CMP dword ptr [ESI + 0x130],EDI
JZ 0x002b3852
MOV EDI,EAX
MOV EAX,dword ptr [EDI + -0xc]
MOV EBX,dword ptr [EDI + 0x1c]
MOV dword ptr [EBP + -0x58],EDI
MOV dword ptr [EBP + -0x6c],EAX
CMP EBX,0xfeff
JBE 0x002b3758
SUB ESP,0xc
PUSH dword ptr [EBP + -0x7c]
CALL 0x00106f60
MOV EAX,dword ptr [ESI + 0x38]
ADD EBX,dword ptr [ESI + 0xa4]
ADD ESP,0x10
MOV ECX,dword ptr [EAX + EBX*0x4]
TEST ECX,ECX
JNZ 0x002b3766
MOV ECX,dword ptr [EBP + -0x6c]
MOV dword ptr [EAX + ECX*0x4],0x0
MOV EAX,dword ptr [ESI + 0x84]
MOV dword ptr [EAX + ECX*0x4],0xffffffff
LEA EAX,[EDI + 0x4c]
ADD EDI,0x28
CMP dword ptr [ESI + 0x130],EDI
JNZ 0x002b37f1
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [ESI + 0x84]
MOV EDX,dword ptr [EBP + -0x6c]
MOV dword ptr [EAX + EDX*0x4],0xffffffff
MOV EAX,dword ptr [EBP + -0x80]
TEST EAX,EAX
JZ 0x002b35ec
MOV byte ptr [ESI + 0x4c],0x1
JMP 0x002b35ec
MOV EBX,dword ptr [EBP + -0x70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffea2efc]
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffea2b94]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x50b
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffea2ba8]
PUSH EAX
LEA EAX,[EBX + 0xffe63385]
PUSH 0x541
PUSH EAX
CALL 0x002446e0
MOV EBX,dword ptr [EBP + -0x70]
SUB ESP,0x4
LEA EAX,[EBX + 0xffea2a88]
PUSH EAX
LEA EAX,[EBX + 0xffe634b4]
PUSH 0xc0
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_002b3500(int param_1,undefined4 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}\n\n" comment (function_definition "void FUN_002b3500(int param_1,undefined4 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}" primitive_type (function_declarator "FUN_002b3500(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (expression_statement "puVar5 = *(undefined4 **)(param_1 + 0x120);" (assignment_expression "puVar5 = *(undefined4 **)(param_1 + 0x120)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x120)" * (cast_expression "(undefined4 **)(param_1 + 0x120)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(puVar5 != *(undefined4 **)(param_1 + 0x124))" ( (binary_expression "puVar5 != *(undefined4 **)(param_1 + 0x124)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) )) (compound_statement "{\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "local_60 = puVar5 + 9;" (assignment_expression "local_60 = puVar5 + 9" identifier = (binary_expression "puVar5 + 9" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }" { (do_statement "do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);" do (compound_statement "{\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      }" { (if_statement "if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" if (parenthesized_expression "(((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0'))" ( (binary_expression "((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')" (parenthesized_expression "((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0))" ( (binary_expression "(*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)" (parenthesized_expression "(*(char *)(iVar4 + 0x318d) == '\0')" ( (binary_expression "*(char *)(iVar4 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x318d)" * (cast_expression "(char *)(iVar4 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x318d)" ( (binary_expression "iVar4 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)" ( (comma_expression "iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0" (assignment_expression "iVar4 = FUN_003b8640(puVar5,".eh_frame")" identifier = (call_expression "FUN_003b8640(puVar5,".eh_frame")" identifier (argument_list "(puVar5,".eh_frame")" ( identifier , (string_literal "".eh_frame"" " string_content ") )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')" ( (comma_expression "cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0'" (assignment_expression "cVar3 = FUN_0028ff90(param_1,&local_60)" identifier = (call_expression "FUN_0028ff90(param_1,&local_60)" identifier (argument_list "(param_1,&local_60)" ( identifier , (pointer_expression "&local_60" & identifier) )))) , (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }" { (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) comment (expression_statement "FUN_002b3240(param_1,&local_5c);" (call_expression "FUN_002b3240(param_1,&local_5c)" identifier (argument_list "(param_1,&local_5c)" ( identifier , (pointer_expression "&local_5c" & identifier) ))) ;) (expression_statement "FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);" (call_expression "FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8])" identifier (argument_list "(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8])" ( identifier , identifier , (pointer_expression "*(undefined4 *)(local_50 + 8)" * (cast_expression "(undefined4 *)(local_50 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(local_44 + 8)" * (cast_expression "(undefined4 *)(local_44 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 8)" ( (binary_expression "local_44 + 8" identifier + number_literal) )))) , identifier , (subscript_expression "puVar5[6]" identifier [ number_literal ]) , (pointer_expression "&local_60" & identifier) , (subscript_expression "puVar5[7]" identifier [ number_literal ]) , (subscript_expression "puVar5[8]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0028b670(&local_5c);" (call_expression "FUN_0028b670(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x124);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x124)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }" if (parenthesized_expression "(puVar5 + 0x13 == puVar8)" ( (binary_expression "puVar5 + 0x13 == puVar8" (binary_expression "puVar5 + 0x13" identifier + number_literal) == identifier) )) (compound_statement "{\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }" { (labeled_statement "LAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);" statement_identifier : (expression_statement "puVar5 = *(undefined4 **)(param_1 + 0x120);" (assignment_expression "puVar5 = *(undefined4 **)(param_1 + 0x120)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x120)" * (cast_expression "(undefined4 **)(param_1 + 0x120)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) ))))) ;)) (expression_statement "puVar10 = puVar5;" (assignment_expression "puVar10 = puVar5" identifier = identifier) ;) (if_statement "if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }" if (parenthesized_expression "(puVar5 != puVar8)" ( (binary_expression "puVar5 != puVar8" identifier != identifier) )) (compound_statement "{\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }" { (do_statement "do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);" do (compound_statement "{\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              }" { (if_statement "if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }" if (parenthesized_expression "((undefined4 *)*puVar10 != puVar10 + 2)" ( (binary_expression "(undefined4 *)*puVar10 != puVar10 + 2" (cast_expression "(undefined4 *)*puVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) != (binary_expression "puVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }" { (expression_statement "FUN_003ae080((undefined4 *)*puVar10);" (call_expression "FUN_003ae080((undefined4 *)*puVar10)" identifier (argument_list "((undefined4 *)*puVar10)" ( (cast_expression "(undefined4 *)*puVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) ))) ;) })) (expression_statement "puVar10 = puVar10 + 0x13;" (assignment_expression "puVar10 = puVar10 + 0x13" identifier = (binary_expression "puVar10 + 0x13" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar8 != puVar10)" ( (binary_expression "puVar8 != puVar10" identifier != identifier) )) ;) (expression_statement "*(undefined4 **)(param_1 + 0x124) = puVar5;" (assignment_expression "*(undefined4 **)(param_1 + 0x124) = puVar5" (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_002b3729;" goto statement_identifier ;) })) }) (else_clause "else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" else (compound_statement "{\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" { (expression_statement "uVar7 = puVar5[6];" (assignment_expression "uVar7 = puVar5[6]" identifier = (subscript_expression "puVar5[6]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7)" ( (binary_expression "(uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7" (call_expression "(uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2)" ( (binary_expression "*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2" (binary_expression "*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38)" (pointer_expression "*(int *)(param_1 + 0x3c)" * (cast_expression "(int *)(param_1 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment (expression_statement "FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_002446e0("../../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 (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }" if (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) != number_literal) )) (compound_statement "{\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }" { (expression_statement "iVar4 = puVar5[7];" (assignment_expression "iVar4 = puVar5[7]" identifier = (subscript_expression "puVar5[7]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);" (assignment_expression "uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" identifier = (call_expression "FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" identifier (argument_list "(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" ( identifier , identifier , identifier , (pointer_expression "*puVar5" * identifier) , (pointer_expression "&local_60" & identifier) , (subscript_expression "local_60[1]" identifier [ number_literal ]) , identifier , (subscript_expression "puVar5[8]" identifier [ number_literal ]) , (pointer_expression "&local_5c" & identifier) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" if (parenthesized_expression "((local_58 & local_5c) == 0xffffffff)" ( (binary_expression "(local_58 & local_5c) == 0xffffffff" (parenthesized_expression "(local_58 & local_5c)" ( (binary_expression "local_58 & local_5c" identifier & identifier) )) == number_literal) )) (compound_statement "{\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }" { (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar7 * 4)" ( (binary_expression "*(int *)(param_1 + 0x84) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) = number_literal) ;) (if_statement "if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }" { (expression_statement "*(undefined1 *)(param_1 + 0x4c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x4c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x4c)" * (cast_expression "(undefined1 *)(param_1 + 0x4c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" else (compound_statement "{\n              if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" { (if_statement "if (local_58 != 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }" if (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }" { comment (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_002446e0("../../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 "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;" (assignment_expression "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c" (pointer_expression "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84))" * (cast_expression "(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 * 4 + *(int *)(param_1 + 0x84))" ( (binary_expression "uVar7 * 4 + *(int *)(param_1 + 0x84)" (binary_expression "uVar7 * 4" identifier * number_literal) + (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) ))))) )))) = identifier) ;) }))) })) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x124);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x124)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;" if (parenthesized_expression "(puVar5 + 0x13 == puVar8)" ( (binary_expression "puVar5 + 0x13 == puVar8" (binary_expression "puVar5 + 0x13" identifier + number_literal) == identifier) )) (goto_statement "goto LAB_002b36e8;" goto statement_identifier ;)) }))) (expression_statement "local_60 = puVar5 + 0x1c;" (assignment_expression "local_60 = puVar5 + 0x1c" identifier = (binary_expression "puVar5 + 0x1c" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = puVar5 + 0x13;" (assignment_expression "puVar5 = puVar5 + 0x13" identifier = (binary_expression "puVar5 + 0x13" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_002446e0("../../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_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;" statement_identifier : (expression_statement "uVar7 = *(int *)(param_1 + 300) + 0x24;" (assignment_expression "uVar7 = *(int *)(param_1 + 300) + 0x24" identifier = (binary_expression "*(int *)(param_1 + 300) + 0x24" (pointer_expression "*(int *)(param_1 + 300)" * (cast_expression "(int *)(param_1 + 300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 300)" ( (binary_expression "param_1 + 300" identifier + number_literal) )))) + number_literal)) ;)) (if_statement "if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130))" ( (binary_expression "*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)" (pointer_expression "*(int *)(param_1 + 300)" * (cast_expression "(int *)(param_1 + 300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 300)" ( (binary_expression "param_1 + 300" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x130)" * (cast_expression "(int *)(param_1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (do_statement "do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );" do (compound_statement "{\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  }" { (expression_statement "uVar1 = *(uint *)(uVar7 - 0xc);" (assignment_expression "uVar1 = *(uint *)(uVar7 - 0xc)" identifier = (pointer_expression "*(uint *)(uVar7 - 0xc)" * (cast_expression "(uint *)(uVar7 - 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 - 0xc)" ( (binary_expression "uVar7 - 0xc" identifier - number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(uVar7 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(uVar7 + 0x1c)" identifier = (pointer_expression "*(uint *)(uVar7 + 0x1c)" * (cast_expression "(uint *)(uVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + 0x1c)" ( (binary_expression "uVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" identifier = identifier) ;) (if_statement "if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" if (parenthesized_expression "(uVar2 < 0xff00)" ( (binary_expression "uVar2 < 0xff00" identifier < number_literal) )) (compound_statement "{\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" { (expression_statement "iVar4 = *(int *)(param_1 + 0x38);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x38)" identifier = (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar4 + uVar2 * 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + uVar2 * 4)" identifier = (pointer_expression "*(int *)(iVar4 + uVar2 * 4)" * (cast_expression "(int *)(iVar4 + uVar2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar2 * 4)" ( (binary_expression "iVar4 + uVar2 * 4" identifier + (binary_expression "uVar2 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar9 != 0) goto LAB_002b3766;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002b3766;" goto statement_identifier ;)) (labeled_statement "LAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(iVar4 + uVar1 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + uVar1 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar4 + uVar1 * 4)" * (cast_expression "(undefined4 *)(iVar4 + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar1 * 4)" ( (binary_expression "iVar4 + uVar1 * 4" identifier + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (binary_expression "*(int *)(param_1 + 0x84) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x130) == uVar7 + 0x28)" ( (binary_expression "*(int *)(param_1 + 0x130) == uVar7 + 0x28" (pointer_expression "*(int *)(param_1 + 0x130)" * (cast_expression "(int *)(param_1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) )))) == (binary_expression "uVar7 + 0x28" identifier + number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" else (compound_statement "{\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" { (expression_statement "FUN_00106f60(param_1 + 0x90);" (call_expression "FUN_00106f60(param_1 + 0x90)" identifier (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x38);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x38)" identifier = (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" identifier = (pointer_expression "*(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" * (cast_expression "(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" ( (binary_expression "iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4" identifier + (binary_expression "(uVar2 + *(int *)(param_1 + 0xa4)) * 4" (parenthesized_expression "(uVar2 + *(int *)(param_1 + 0xa4))" ( (binary_expression "uVar2 + *(int *)(param_1 + 0xa4)" identifier + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) )) * number_literal)) ))))) ;) (if_statement "if (iVar9 == 0) goto LAB_002b382d;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002b382d;" goto statement_identifier ;)) (labeled_statement "LAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);" statement_identifier : (expression_statement "puVar5 = (undefined4 *)FUN_003ac4d0(0x14);" (assignment_expression "puVar5 = (undefined4 *)FUN_003ac4d0(0x14)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;)) (expression_statement "uVar2 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar2 <= uVar1) {\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" if (parenthesized_expression "(uVar2 <= uVar1)" ( (binary_expression "uVar2 <= uVar1" identifier <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" { comment (expression_statement "FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_002446e0("../../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 "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;" (assignment_expression "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5" (pointer_expression "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4)" * (cast_expression "(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0x44) + uVar1 * 4)" ( (binary_expression "**(int **)(param_1 + 0x44) + uVar1 * 4" (pointer_expression "**(int **)(param_1 + 0x44)" * (pointer_expression "*(int **)(param_1 + 0x44)" * (cast_expression "(int **)(param_1 + 0x44)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);" (assignment_expression "uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" identifier = (call_expression "FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" identifier (argument_list "(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" ( identifier , identifier , identifier , (pointer_expression "&local_5c" & identifier) , identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar1 * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (binary_expression "*(int *)(param_1 + 0x84) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x130) == uVar7 + 0x28)" ( (binary_expression "*(int *)(param_1 + 0x130) == uVar7 + 0x28" (pointer_expression "*(int *)(param_1 + 0x130)" * (cast_expression "(int *)(param_1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) )))) == (binary_expression "uVar7 + 0x28" identifier + number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }))) (expression_statement "uVar7 = uVar7 + 0x4c;" (assignment_expression "uVar7 = uVar7 + 0x4c" identifier = (binary_expression "uVar7 + 0x4c" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": 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  File_read *pFVar1;\n  uint reloc_shndx;\n  pointer pcVar2;\n  File_read *pFVar3;\n  View *pVVar4;\n  bool bVar5;\n  General_options *pGVar6;\n  int iVar7;\n  Relocatable_relocs *rr;\n  Output_section *pOVar8;\n  pointer ppOVar9;\n  pointer pDVar10;\n  pointer pDVar11;\n  pointer pDVar12;\n  File_view *pFVar13;\n  uint uVar14;\n  Shdr shdr;\n  Read_symbols_data sd;\n  \n  pDVar11 = (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 (pDVar11 !=\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> *)pDVar11->shdr_data_;\n    pGVar6 = parameters->options_;\n    if (pGVar6 != (General_options *)0x0) {\n      do {\n        if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      } while (pGVar6 != (General_options *)0x0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  pDVar11 = (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  pFVar13 = (File_view *)pDVar11->shdr_data_;\n  if (pDVar11 ==\n      (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    return;\n  }\n  do {\n    pFVar3 = pFVar13[-1].file_;\n    pVVar4 = pFVar13[2].view_;\n    sd.section_headers = pFVar13;\n    if (pVVar4 < (View *)0xff00) {\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)pVVar4];\n      if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;\nLAB_002b382d:\n      ppOVar9[(int)pFVar3] = (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[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    else {\n      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];\n      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;\nLAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);\n      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\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 (pFVar1 <= pFVar3) {\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[(int)pFVar3] = rr;\n      pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;\n      (this->super_Sized_relobj<32,_false>).section_offsets_.\n      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    pFVar13 = (File_view *)&pFVar13[6].view_;\n  } while( true );\n}\n\n" comment comment 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  File_read *pFVar1;" 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  File_read" 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) (pointer_declarator "*pFVar1" * identifier) ;) (declaration "uint reloc_shndx;" type_identifier identifier ;) (declaration "pointer pcVar2;" type_identifier identifier ;) (declaration "File_read *pFVar3;" type_identifier (pointer_declarator "*pFVar3" * identifier) ;) (declaration "View *pVVar4;" type_identifier (pointer_declarator "*pVVar4" * identifier) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "General_options *pGVar6;" type_identifier (pointer_declarator "*pGVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "Relocatable_relocs *rr;" type_identifier (pointer_declarator "*rr" * identifier) ;) (declaration "Output_section *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "pointer ppOVar9;" type_identifier identifier ;) (declaration "pointer pDVar10;" type_identifier identifier ;) (declaration "pointer pDVar11;" type_identifier identifier ;) (declaration "pointer pDVar12;" type_identifier identifier ;) (declaration "File_view *pFVar13;" type_identifier (pointer_declarator "*pFVar13" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "Shdr shdr;" type_identifier identifier ;) (declaration "Read_symbols_data sd;" type_identifier identifier ;) (expression_statement "pDVar11 = (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 "pDVar11 = (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 "pDVar11 = (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 "pDVar11 = (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 "pDVar11 = (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 "pDVar11 = (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::Sized_relobj_file<32" (binary_expression "pDVar11 = (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold" (binary_expression "pDVar11 = (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout" (binary_expression "pDVar11 = (this->deferred_layout_).\n            super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar11 = (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 (pDVar11 !=\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> *)pDVar11->shdr_data_;\n    pGVar6 = parameters->options_;\n    if (pGVar6 != (General_options *)0x0) {\n      do {\n        if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      } while (pGVar6 != (General_options *)0x0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(pDVar11 !=\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 "pDVar11 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar11 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar11 !=\n      (this->deferred_layout_).\n      super__Vector_base<gold::Sized_relobj_file<32" (binary_expression "pDVar11 !=\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> *)pDVar11->shdr_data_;\n    pGVar6 = parameters->options_;\n    if (pGVar6 != (General_options *)0x0) {\n      do {\n        if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      } while (pGVar6 != (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> *)pDVar11->shdr_data_;" (assignment_expression "shdr.p_ = (Shdr_data<32> *)pDVar11->shdr_data_" (field_expression "shdr.p_" identifier . field_identifier) = (parenthesized_expression "(Shdr_data<32> *)pDVar11->shdr_data_" ( (binary_expression "Shdr_data<32> *)pDVar11->shdr_data_" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*)pDVar11->shdr_data_" * (ERROR ")" )) (field_expression "pDVar11->shdr_data_" identifier -> field_identifier))) ))) ;) (expression_statement "pGVar6 = parameters->options_;" (assignment_expression "pGVar6 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar6 != (General_options *)0x0) {\n      do {\n        if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      } while (pGVar6 != (General_options *)0x0);\n    }" if (parenthesized_expression "(pGVar6 != (General_options *)0x0)" ( (binary_expression "pGVar6 != (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 ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      } while (pGVar6 != (General_options *)0x0);\n    }" { (do_statement "do {\n        if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      } while (pGVar6 != (General_options *)0x0);" do (compound_statement "{\n        if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }\n        shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;\n        pGVar6 = parameters->options_;\n        pDVar11 = pDVar11 + 1;\n      }" { (if_statement "if ((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)) {\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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }" if (parenthesized_expression "((((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5))" ( (binary_expression "(((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)) &&\n           (bVar5 = check_eh_frame_flags(this,&shdr), bVar5)" (parenthesized_expression "(((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0))" ( (binary_expression "((pGVar6->relocatable_).value == false) &&\n            (iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)" (parenthesized_expression "((pGVar6->relocatable_).value == false)" ( (binary_expression "(pGVar6->relocatable_).value == false" (field_expression "(pGVar6->relocatable_).value" (parenthesized_expression "(pGVar6->relocatable_)" ( (field_expression "pGVar6->relocatable_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "(iVar7 = std::string::compare((char *)pDVar11), iVar7 == 0)" ( (ERROR "iVar7 = std::string::" (assignment_expression "iVar7 = std" identifier = identifier) : : identifier : :) (comma_expression "compare((char *)pDVar11), iVar7 == 0" (call_expression "compare((char *)pDVar11)" identifier (argument_list "((char *)pDVar11)" ( (cast_expression "(char *)pDVar11" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(bVar5 = check_eh_frame_flags(this,&shdr), bVar5)" ( (comma_expression "bVar5 = check_eh_frame_flags(this,&shdr), bVar5" (assignment_expression "bVar5 = 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 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */\n          base_read_symbols(this,&sd);\n          uVar14 = pDVar11->reloc_type_;\n          layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);\n          Read_symbols_data::~Read_symbols_data(&sd,uVar14);\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }\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 "uVar14 = pDVar11->reloc_type_;" (assignment_expression "uVar14 = pDVar11->reloc_type_" identifier = (field_expression "pDVar11->reloc_type_" identifier -> field_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,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14);" (call_expression "layout_eh_frame_section\n                    (this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14)" identifier (argument_list "(this,layout,(sd.symbols)->data_,sd.symbols_size,(sd.symbol_names)->data_,\n                     sd.symbol_names_size,pDVar11->shndx_,&shdr,pDVar11->reloc_shndx_,uVar14)" ( 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 "pDVar11->shndx_" identifier -> field_identifier) , (pointer_expression "&shdr" & identifier) , (field_expression "pDVar11->reloc_shndx_" identifier -> field_identifier) , identifier ))) ;) (labeled_statement "Read_symbols_data::~Read_symbols_data(&sd,uVar14);" statement_identifier : (ERROR ":" :) (expression_statement "~Read_symbols_data(&sd,uVar14);" (unary_expression "~Read_symbols_data(&sd,uVar14)" ~ (call_expression "Read_symbols_data(&sd,uVar14)" identifier (argument_list "(&sd,uVar14)" ( (pointer_expression "&sd" & identifier) , identifier )))) ;)) (ERROR "pDVar10 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar10 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar10 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar10 = (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 (pDVar11 + 1 == pDVar10) {\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }" if (parenthesized_expression "(pDVar11 + 1 == pDVar10)" ( (binary_expression "pDVar11 + 1 == pDVar10" (binary_expression "pDVar11 + 1" identifier + number_literal) == identifier) )) (compound_statement "{\nLAB_002b36e8:\n            pDVar11 = (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            pDVar12 = pDVar11;\n            if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }\n            goto LAB_002b3729;\n          }" { (labeled_statement "LAB_002b36e8:\n            pDVar11 = (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;" statement_identifier : (ERROR "pDVar11 = (this->deferred_layout_).\n                      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar11 = (this->deferred_layout_).\n                      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar11 = (this->deferred_layout_).\n                      super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar11 = (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 "pDVar12 = pDVar11;" (assignment_expression "pDVar12 = pDVar11" identifier = identifier) ;) (if_statement "if (pDVar11 != pDVar10) {\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }" if (parenthesized_expression "(pDVar11 != pDVar10)" ( (binary_expression "pDVar11 != pDVar10" identifier != identifier) )) (compound_statement "{\n              do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);\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 = pDVar11;\n            }" { (do_statement "do {\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              } while (pDVar10 != pDVar12);" do (compound_statement "{\n                pcVar2 = (pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }\n                pDVar12 = pDVar12 + 1;\n              }" { (expression_statement "pcVar2 = (pDVar12->name_)._M_dataplus._M_p;" (assignment_expression "pcVar2 = (pDVar12->name_)._M_dataplus._M_p" identifier = (field_expression "(pDVar12->name_)._M_dataplus._M_p" (field_expression "(pDVar12->name_)._M_dataplus" (parenthesized_expression "(pDVar12->name_)" ( (field_expression "pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2) {\n                  operator_delete(pcVar2);\n                }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)pcVar2 != &(pDVar12->name_).field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                     *)pcVar2 != &(pDVar12->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                     *)pcVar2 != &(pDVar12->name_).field_2" (binary_expression "allocator<char>_>_9\n                     *)pcVar2" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                     *)pcVar2" identifier * (ERROR ")" )) identifier)) != (pointer_expression "&(pDVar12->name_).field_2" & (field_expression "(pDVar12->name_).field_2" (parenthesized_expression "(pDVar12->name_)" ( (field_expression "pDVar12->name_" identifier -> field_identifier) )) . field_identifier))) )) )) (compound_statement "{\n                  operator_delete(pcVar2);\n                }" { (expression_statement "operator_delete(pcVar2);" (call_expression "operator_delete(pcVar2)" identifier (argument_list "(pcVar2)" ( identifier ))) ;) })) (expression_statement "pDVar12 = pDVar12 + 1;" (assignment_expression "pDVar12 = pDVar12 + 1" identifier = (binary_expression "pDVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pDVar10 != pDVar12)" ( (binary_expression "pDVar10 != pDVar12" 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 = pDVar11;" (comma_expression "Sized_relobj_file<32,_false>::Deferred_layout>_>\n              ._M_impl._M_finish = pDVar11" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (assignment_expression "_false>::Deferred_layout>_>\n              ._M_impl._M_finish = pDVar11" (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_002b3729;" goto statement_identifier ;) })) }) (else_clause "else {\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }" else (compound_statement "{\n          ppOVar9 = (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          uVar14 = pDVar11->shndx_;\n          if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }\n          pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;\n        }" { (expression_statement "ppOVar9 = (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 "ppOVar9 = (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 "ppOVar9 = (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 "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar9 = (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 "uVar14 = pDVar11->shndx_;" (assignment_expression "uVar14 = pDVar11->shndx_" identifier = (field_expression "pDVar11->shndx_" identifier -> field_identifier)) ;) (if_statement "if ((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14)" ( (binary_expression "(uint)((int)(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 - (int)ppOVar9 >> 2) <= uVar14" (call_expression "(uint)((int)(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 - (int)ppOVar9 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(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 - (int)ppOVar9 >> 2)" ( (binary_expression "(int)(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 - (int)ppOVar9 >> 2" (binary_expression "(int)(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 - (int)ppOVar9" (field_expression "(int)(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 "(int)(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 "(int)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold" (cast_expression "(int)(this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (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 "(int)ppOVar9" ( (type_descriptor "int" primitive_type) ) 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 (ppOVar9[uVar14] != (Output_section *)0x0) {\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }" if (parenthesized_expression "(ppOVar9[uVar14] != (Output_section *)0x0)" ( (binary_expression "ppOVar9[uVar14] != (Output_section *)0x0" (subscript_expression "ppOVar9[uVar14]" identifier [ identifier ]) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            reloc_shndx = pDVar11->reloc_shndx_;\n            pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->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[uVar14] = pOVar8;\n            if (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }\n          }" { (expression_statement "reloc_shndx = pDVar11->reloc_shndx_;" (assignment_expression "reloc_shndx = pDVar11->reloc_shndx_" identifier = (field_expression "pDVar11->reloc_shndx_" identifier -> field_identifier)) ;) (expression_statement "pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd);" (comma_expression "pOVar8 = Layout::layout<32,_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd)" (binary_expression "pOVar8 = Layout::layout<32" (assignment_expression "pOVar8 = Layout" identifier = identifier) (ERROR "::layout" : : identifier) < number_literal) , (binary_expression "_false>\n                               (layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd)" identifier > (parenthesized_expression "(layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd)" ( (comma_expression "layout,this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd" identifier , (comma_expression "this,uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd" identifier , (comma_expression "uVar14,(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd" identifier , (comma_expression "(pDVar11->name_)._M_dataplus._M_p,&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd" (field_expression "(pDVar11->name_)._M_dataplus._M_p" (field_expression "(pDVar11->name_)._M_dataplus" (parenthesized_expression "(pDVar11->name_)" ( (field_expression "pDVar11->name_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (comma_expression "&shdr,\n                                (shdr.p_)->sh_type,reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd" (pointer_expression "&shdr" & identifier) , (comma_expression "(shdr.p_)->sh_type,reloc_shndx,pDVar11->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 "reloc_shndx,pDVar11->reloc_type_,(off_t *)&sd" identifier , (comma_expression "pDVar11->reloc_type_,(off_t *)&sd" (field_expression "pDVar11->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[uVar14] = pOVar8;" (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[uVar14] = pOVar8" (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[uVar14]" (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 (((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff) {\n              (this->super_Sized_relobj<32,_false>).section_offsets_.\n              super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }" if (parenthesized_expression "(((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff)" ( (binary_expression "((uint)sd.section_names & (uint)sd.section_headers) == 0xffffffff" (parenthesized_expression "((uint)sd.section_names & (uint)sd.section_headers)" ( (binary_expression "(uint)sd.section_names & (uint)sd.section_headers" (cast_expression "(uint)sd.section_names" ( (type_descriptor "uint" type_identifier) ) (field_expression "sd.section_names" identifier . field_identifier)) & (cast_expression "(uint)sd.section_headers" ( (type_descriptor "uint" type_identifier) ) (field_expression "sd.section_headers" identifier . field_identifier))) )) == 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              [uVar14] = 0xffffffff;\n              if (reloc_shndx != 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              [uVar14] = 0xffffffff;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = 0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14]" (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) ;) (if_statement "if (reloc_shndx != 0) {\n                (this->super_Sized_relobj<32,_false>).super_Relobj.\n                relocs_must_follow_section_writes_ = true;\n              }" if (parenthesized_expression "(reloc_shndx != 0)" ( (binary_expression "reloc_shndx != 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_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }" else (compound_statement "{\n              if (sd.section_names != (File_view *)0x0) {\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              [uVar14] = (uint)sd.section_headers;\n            }" { (if_statement "if (sd.section_names != (File_view *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n              }" if (parenthesized_expression "(sd.section_names != (File_view *)0x0)" ( (binary_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)) )) (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              [uVar14] = (uint)sd.section_headers;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14] = (uint)sd.section_headers" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start\n              [uVar14]" (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 "pDVar10 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar10 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar10 = (this->deferred_layout_).\n                    super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar10 = (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 (pDVar11 + 1 == pDVar10) goto LAB_002b36e8;" if (parenthesized_expression "(pDVar11 + 1 == pDVar10)" ( (binary_expression "pDVar11 + 1 == pDVar10" (binary_expression "pDVar11 + 1" identifier + number_literal) == identifier) )) (goto_statement "goto LAB_002b36e8;" goto statement_identifier ;)) }))) (expression_statement "shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_;" (assignment_expression "shdr.p_ = (Shdr_data<32> *)pDVar11[1].shdr_data_" (field_expression "shdr.p_" identifier . field_identifier) = (parenthesized_expression "(Shdr_data<32> *)pDVar11[1].shdr_data_" ( (binary_expression "Shdr_data<32> *)pDVar11[1].shdr_data_" (binary_expression "Shdr_data<32" identifier < number_literal) > (pointer_expression "*)pDVar11[1].shdr_data_" * (ERROR ")" )) (field_expression "pDVar11[1].shdr_data_" (subscript_expression "pDVar11[1]" identifier [ number_literal ]) . field_identifier))) ))) ;) (expression_statement "pGVar6 = parameters->options_;" (assignment_expression "pGVar6 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (expression_statement "pDVar11 = pDVar11 + 1;" (assignment_expression "pDVar11 = pDVar11 + 1" identifier = (binary_expression "pDVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pGVar6 != (General_options *)0x0)" ( (binary_expression "pGVar6 != (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_002b3729:\n  pDVar11 = (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 "pDVar11 = (this->deferred_layout_relocs_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar11 = (this->deferred_layout_relocs_).\n            super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar11 = (this->deferred_layout_relocs_).\n            super__Vector_base<gold::Sized_relobj_file<32" (assignment_expression "pDVar11 = (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 "pFVar13 = (File_view *)pDVar11->shdr_data_;" (assignment_expression "pFVar13 = (File_view *)pDVar11->shdr_data_" identifier = (cast_expression "(File_view *)pDVar11->shdr_data_" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pDVar11->shdr_data_" identifier -> field_identifier))) ;) (if_statement "if (pDVar11 ==\n      (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    return;\n  }" if (parenthesized_expression "(pDVar11 ==\n      (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 "pDVar11 ==\n      (this->deferred_layout_relocs_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std::allocator<gold::" (comma_expression "pDVar11 ==\n      (this->deferred_layout_relocs_).\n      super__Vector_base<gold::Sized_relobj_file<32,_false>::Deferred_layout,_std" (binary_expression "pDVar11 ==\n      (this->deferred_layout_relocs_).\n      super__Vector_base<gold::Sized_relobj_file<32" (binary_expression "pDVar11 ==\n      (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    return;\n  }" { (return_statement "return;" return ;) })) (do_statement "do {\n    pFVar3 = pFVar13[-1].file_;\n    pVVar4 = pFVar13[2].view_;\n    sd.section_headers = pFVar13;\n    if (pVVar4 < (View *)0xff00) {\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)pVVar4];\n      if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;\nLAB_002b382d:\n      ppOVar9[(int)pFVar3] = (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[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    else {\n      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];\n      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;\nLAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);\n      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\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 (pFVar1 <= pFVar3) {\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[(int)pFVar3] = rr;\n      pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;\n      (this->super_Sized_relobj<32,_false>).section_offsets_.\n      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    pFVar13 = (File_view *)&pFVar13[6].view_;\n  } while( true );" do (compound_statement "{\n    pFVar3 = pFVar13[-1].file_;\n    pVVar4 = pFVar13[2].view_;\n    sd.section_headers = pFVar13;\n    if (pVVar4 < (View *)0xff00) {\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)pVVar4];\n      if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;\nLAB_002b382d:\n      ppOVar9[(int)pFVar3] = (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[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    else {\n      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];\n      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;\nLAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);\n      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\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 (pFVar1 <= pFVar3) {\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[(int)pFVar3] = rr;\n      pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;\n      (this->super_Sized_relobj<32,_false>).section_offsets_.\n      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    pFVar13 = (File_view *)&pFVar13[6].view_;\n  }" { (expression_statement "pFVar3 = pFVar13[-1].file_;" (assignment_expression "pFVar3 = pFVar13[-1].file_" identifier = (field_expression "pFVar13[-1].file_" (subscript_expression "pFVar13[-1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pVVar4 = pFVar13[2].view_;" (assignment_expression "pVVar4 = pFVar13[2].view_" identifier = (field_expression "pFVar13[2].view_" (subscript_expression "pFVar13[2]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "sd.section_headers = pFVar13;" (assignment_expression "sd.section_headers = pFVar13" (field_expression "sd.section_headers" identifier . field_identifier) = identifier) ;) (if_statement "if (pVVar4 < (View *)0xff00) {\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)pVVar4];\n      if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;\nLAB_002b382d:\n      ppOVar9[(int)pFVar3] = (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[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }\n    else {\n      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];\n      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;\nLAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);\n      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\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 (pFVar1 <= pFVar3) {\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[(int)pFVar3] = rr;\n      pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;\n      (this->super_Sized_relobj<32,_false>).section_offsets_.\n      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }" if (parenthesized_expression "(pVVar4 < (View *)0xff00)" ( (binary_expression "pVVar4 < (View *)0xff00" identifier < (cast_expression "(View *)0xff00" ( (type_descriptor "View *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)pVVar4];\n      if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;\nLAB_002b382d:\n      ppOVar9[(int)pFVar3] = (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[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }" { (expression_statement "ppOVar9 = (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 "ppOVar9 = (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 "ppOVar9 = (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 "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar9 = (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 "pOVar8 = ppOVar9[(int)pVVar4];" (assignment_expression "pOVar8 = ppOVar9[(int)pVVar4]" identifier = (subscript_expression "ppOVar9[(int)pVVar4]" identifier [ (cast_expression "(int)pVVar4" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (if_statement "if (pOVar8 != (Output_section *)0x0) goto LAB_002b3766;" if (parenthesized_expression "(pOVar8 != (Output_section *)0x0)" ( (binary_expression "pOVar8 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002b3766;" goto statement_identifier ;)) (labeled_statement "LAB_002b382d:\n      ppOVar9[(int)pFVar3] = (Output_section *)0x0;" statement_identifier : (expression_statement "ppOVar9[(int)pFVar3] = (Output_section *)0x0;" (assignment_expression "ppOVar9[(int)pFVar3] = (Output_section *)0x0" (subscript_expression "ppOVar9[(int)pFVar3]" identifier [ (cast_expression "(int)pFVar3" ( (type_descriptor "int" primitive_type) ) 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[(int)pFVar3]\n           = 0xffffffff;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]" (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) [ (cast_expression "(int)pFVar3" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (if_statement "if ((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)&pFVar13[3].view_) {\n        return;\n      }" if (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)&pFVar13[3].view_)" ( (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)&pFVar13[3].view_" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n          ._M_impl._M_finish == (pointer)&pFVar13[3].view_" (binary_expression "_false>::Deferred_layout>_>\n          ._M_impl._M_finish == (pointer)" (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) == (parenthesized_expression "(pointer)" ( identifier ))) & (field_expression "pFVar13[3].view_" (subscript_expression "pFVar13[3]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];\n      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;\nLAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);\n      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\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 (pFVar1 <= pFVar3) {\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[(int)pFVar3] = rr;\n      pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;\n      (this->super_Sized_relobj<32,_false>).section_offsets_.\n      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\n    }" else (compound_statement "{\n      elfcpp::Elf_file<32,_false,_gold::Object>::initialize_shnum(&this->elf_file_);\n      ppOVar9 = (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      pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];\n      if (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;\nLAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);\n      pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;\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 (pFVar1 <= pFVar3) {\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[(int)pFVar3] = rr;\n      pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,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[(int)pFVar3] = pOVar8;\n      (this->super_Sized_relobj<32,_false>).section_offsets_.\n      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff;\n      if ((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)&pFVar13[3].view_) {\n        return;\n      }\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 "ppOVar9 = (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 "ppOVar9 = (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 "ppOVar9 = (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 "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar9 = (this->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar9 = (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 "pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_];" (assignment_expression "pOVar8 = ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_]" identifier = (subscript_expression "ppOVar9[(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_]" identifier [ (binary_expression "(int)&pVVar4->start_ + (this->elf_file_).large_shndx_offset_" (cast_expression "(int)&pVVar4->start_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pVVar4->start_" & (field_expression "pVVar4->start_" identifier -> field_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 (pOVar8 == (Output_section *)0x0) goto LAB_002b382d;" if (parenthesized_expression "(pOVar8 == (Output_section *)0x0)" ( (binary_expression "pOVar8 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002b382d;" goto statement_identifier ;)) (labeled_statement "LAB_002b3766:\n      rr = (Relocatable_relocs *)operator_new(0x14);" statement_identifier : (expression_statement "rr = (Relocatable_relocs *)operator_new(0x14);" (assignment_expression "rr = (Relocatable_relocs *)operator_new(0x14)" identifier = (cast_expression "(Relocatable_relocs *)operator_new(0x14)" ( (type_descriptor "Relocatable_relocs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;)) (expression_statement "pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_;" (assignment_expression "pFVar1 = (File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" identifier = (cast_expression "(File_read *)(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" ( (type_descriptor "File_read *" type_identifier (abstract_pointer_declarator "*" *)) ) (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))) ;) (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 (pFVar1 <= pFVar3) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" if (parenthesized_expression "(pFVar1 <= pFVar3)" ( (binary_expression "pFVar1 <= pFVar3" 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[(int)pFVar3] = 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[(int)pFVar3] = 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[(int)pFVar3]" (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) [ (cast_expression "(int)pFVar3" ( (type_descriptor "int" primitive_type) ) identifier) ]) = identifier) ;) (expression_statement "pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr);" (comma_expression "pOVar8 = Layout::layout_reloc<32,_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr)" (binary_expression "pOVar8 = Layout::layout_reloc<32" (assignment_expression "pOVar8 = Layout" identifier = identifier) (ERROR "::layout_reloc" : : identifier) < number_literal) , (binary_expression "_false>\n                         (layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr)" identifier > (parenthesized_expression "(layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr)" ( (comma_expression "layout,this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr" identifier , (comma_expression "this,(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr" identifier , (comma_expression "(uint)pFVar3,(Shdr<32,_false> *)&sd,pOVar8,rr" (cast_expression "(uint)pFVar3" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "(Shdr<32,_false> *)&sd,pOVar8,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 "pOVar8,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[(int)pFVar3] = pOVar8;" (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[(int)pFVar3] = pOVar8" (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[(int)pFVar3]" (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) [ (cast_expression "(int)pFVar3" ( (type_descriptor "int" primitive_type) ) 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[(int)pFVar3]\n           = 0xffffffff;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]\n           = 0xffffffff" (subscript_expression "allocator<unsigned_int>_>._M_impl._M_start[(int)pFVar3]" (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) [ (cast_expression "(int)pFVar3" ( (type_descriptor "int" primitive_type) ) identifier) ]) = number_literal) ;) (if_statement "if ((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)&pFVar13[3].view_) {\n        return;\n      }" if (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)&pFVar13[3].view_)" ( (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)&pFVar13[3].view_" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false>::Deferred_layout>_>\n          ._M_impl._M_finish == (pointer)&pFVar13[3].view_" (binary_expression "_false>::Deferred_layout>_>\n          ._M_impl._M_finish == (pointer)" (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) == (parenthesized_expression "(pointer)" ( identifier ))) & (field_expression "pFVar13[3].view_" (subscript_expression "pFVar13[3]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }))) (expression_statement "pFVar13 = (File_view *)&pFVar13[6].view_;" (assignment_expression "pFVar13 = (File_view *)&pFVar13[6].view_" identifier = (cast_expression "(File_view *)&pFVar13[6].view_" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pFVar13[6].view_" & (field_expression "pFVar13[6].view_" (subscript_expression "pFVar13[6]" identifier [ number_literal ]) . field_identifier)))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) (ERROR "}" }))
(translation_unit "void FUN_002b3500(int param_1,undefined4 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}\n\n" (function_definition "void FUN_002b3500(int param_1,undefined4 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}" primitive_type (function_declarator "FUN_002b3500(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "uint local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (expression_statement "puVar5 = *(undefined4 **)(param_1 + 0x120);" (assignment_expression "puVar5 = *(undefined4 **)(param_1 + 0x120)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x120)" * (cast_expression "(undefined4 **)(param_1 + 0x120)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" if (parenthesized_expression "(puVar5 != *(undefined4 **)(param_1 + 0x124))" ( (binary_expression "puVar5 != *(undefined4 **)(param_1 + 0x124)" identifier != (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) )) (compound_statement "{\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" { (expression_statement "local_60 = puVar5 + 9;" (assignment_expression "local_60 = puVar5 + 9" identifier = (binary_expression "puVar5 + 9" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }" { (do_statement "do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);" do (compound_statement "{\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      }" { (if_statement "if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" if (parenthesized_expression "(((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0'))" ( (binary_expression "((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')" (parenthesized_expression "((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0))" ( (binary_expression "(*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)" (parenthesized_expression "(*(char *)(iVar4 + 0x318d) == '\0')" ( (binary_expression "*(char *)(iVar4 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x318d)" * (cast_expression "(char *)(iVar4 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x318d)" ( (binary_expression "iVar4 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)" ( (comma_expression "iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0" (assignment_expression "iVar4 = FUN_003b8640(puVar5,".eh_frame")" identifier = (call_expression "FUN_003b8640(puVar5,".eh_frame")" identifier (argument_list "(puVar5,".eh_frame")" ( identifier , (string_literal "".eh_frame"" " string_content ") )))) , (binary_expression "iVar4 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')" ( (comma_expression "cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0'" (assignment_expression "cVar3 = FUN_0028ff90(param_1,&local_60)" identifier = (call_expression "FUN_0028ff90(param_1,&local_60)" identifier (argument_list "(param_1,&local_60)" ( identifier , (pointer_expression "&local_60" & identifier) )))) , (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }" { (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "FUN_002b3240(param_1,&local_5c);" (call_expression "FUN_002b3240(param_1,&local_5c)" identifier (argument_list "(param_1,&local_5c)" ( identifier , (pointer_expression "&local_5c" & identifier) ))) ;) (expression_statement "FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);" (call_expression "FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8])" identifier (argument_list "(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8])" ( identifier , identifier , (pointer_expression "*(undefined4 *)(local_50 + 8)" * (cast_expression "(undefined4 *)(local_50 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_50 + 8)" ( (binary_expression "local_50 + 8" identifier + number_literal) )))) , identifier , (pointer_expression "*(undefined4 *)(local_44 + 8)" * (cast_expression "(undefined4 *)(local_44 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_44 + 8)" ( (binary_expression "local_44 + 8" identifier + number_literal) )))) , identifier , (subscript_expression "puVar5[6]" identifier [ number_literal ]) , (pointer_expression "&local_60" & identifier) , (subscript_expression "puVar5[7]" identifier [ number_literal ]) , (subscript_expression "puVar5[8]" identifier [ number_literal ]) ))) ;) (expression_statement "FUN_0028b670(&local_5c);" (call_expression "FUN_0028b670(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x124);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x124)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }" if (parenthesized_expression "(puVar5 + 0x13 == puVar8)" ( (binary_expression "puVar5 + 0x13 == puVar8" (binary_expression "puVar5 + 0x13" identifier + number_literal) == identifier) )) (compound_statement "{\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }" { (labeled_statement "LAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);" statement_identifier : (expression_statement "puVar5 = *(undefined4 **)(param_1 + 0x120);" (assignment_expression "puVar5 = *(undefined4 **)(param_1 + 0x120)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x120)" * (cast_expression "(undefined4 **)(param_1 + 0x120)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x120)" ( (binary_expression "param_1 + 0x120" identifier + number_literal) ))))) ;)) (expression_statement "puVar10 = puVar5;" (assignment_expression "puVar10 = puVar5" identifier = identifier) ;) (if_statement "if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }" if (parenthesized_expression "(puVar5 != puVar8)" ( (binary_expression "puVar5 != puVar8" identifier != identifier) )) (compound_statement "{\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }" { (do_statement "do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);" do (compound_statement "{\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              }" { (if_statement "if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }" if (parenthesized_expression "((undefined4 *)*puVar10 != puVar10 + 2)" ( (binary_expression "(undefined4 *)*puVar10 != puVar10 + 2" (cast_expression "(undefined4 *)*puVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) != (binary_expression "puVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }" { (expression_statement "FUN_003ae080((undefined4 *)*puVar10);" (call_expression "FUN_003ae080((undefined4 *)*puVar10)" identifier (argument_list "((undefined4 *)*puVar10)" ( (cast_expression "(undefined4 *)*puVar10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar10" * identifier)) ))) ;) })) (expression_statement "puVar10 = puVar10 + 0x13;" (assignment_expression "puVar10 = puVar10 + 0x13" identifier = (binary_expression "puVar10 + 0x13" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar8 != puVar10)" ( (binary_expression "puVar8 != puVar10" identifier != identifier) )) ;) (expression_statement "*(undefined4 **)(param_1 + 0x124) = puVar5;" (assignment_expression "*(undefined4 **)(param_1 + 0x124) = puVar5" (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_002b3729;" goto statement_identifier ;) })) }) (else_clause "else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" else (compound_statement "{\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" { (expression_statement "uVar7 = puVar5[6];" (assignment_expression "uVar7 = puVar5[6]" identifier = (subscript_expression "puVar5[6]" identifier [ number_literal ])) ;) (if_statement "if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7)" ( (binary_expression "(uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7" (call_expression "(uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2)" ( (binary_expression "*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2" (binary_expression "*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38)" (pointer_expression "*(int *)(param_1 + 0x3c)" * (cast_expression "(int *)(param_1 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) - (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }" { (expression_statement "FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_002446e0("../../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 (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }" if (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0)" ( (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" * (cast_expression "(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) != number_literal) )) (compound_statement "{\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }" { (expression_statement "iVar4 = puVar5[7];" (assignment_expression "iVar4 = puVar5[7]" identifier = (subscript_expression "puVar5[7]" identifier [ number_literal ])) ;) (expression_statement "uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);" (assignment_expression "uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" identifier = (call_expression "FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" identifier (argument_list "(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" ( identifier , identifier , identifier , (pointer_expression "*puVar5" * identifier) , (pointer_expression "&local_60" & identifier) , (subscript_expression "local_60[1]" identifier [ number_literal ]) , identifier , (subscript_expression "puVar5[8]" identifier [ number_literal ]) , (pointer_expression "&local_5c" & identifier) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar7 * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" if (parenthesized_expression "((local_58 & local_5c) == 0xffffffff)" ( (binary_expression "(local_58 & local_5c) == 0xffffffff" (parenthesized_expression "(local_58 & local_5c)" ( (binary_expression "local_58 & local_5c" identifier & identifier) )) == number_literal) )) (compound_statement "{\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }" { (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar7 * 4)" ( (binary_expression "*(int *)(param_1 + 0x84) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) = number_literal) ;) (if_statement "if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }" { (expression_statement "*(undefined1 *)(param_1 + 0x4c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x4c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x4c)" * (cast_expression "(undefined1 *)(param_1 + 0x4c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x4c)" ( (binary_expression "param_1 + 0x4c" identifier + number_literal) )))) = number_literal) ;) })) }) (else_clause "else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" else (compound_statement "{\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" { (if_statement "if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }" if (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }" { (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_002446e0("../../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 "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;" (assignment_expression "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c" (pointer_expression "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84))" * (cast_expression "(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 * 4 + *(int *)(param_1 + 0x84))" ( (binary_expression "uVar7 * 4 + *(int *)(param_1 + 0x84)" (binary_expression "uVar7 * 4" identifier * number_literal) + (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) ))))) )))) = identifier) ;) }))) })) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x124);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x124)" identifier = (pointer_expression "*(undefined4 **)(param_1 + 0x124)" * (cast_expression "(undefined4 **)(param_1 + 0x124)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x124)" ( (binary_expression "param_1 + 0x124" identifier + number_literal) ))))) ;) (if_statement "if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;" if (parenthesized_expression "(puVar5 + 0x13 == puVar8)" ( (binary_expression "puVar5 + 0x13 == puVar8" (binary_expression "puVar5 + 0x13" identifier + number_literal) == identifier) )) (goto_statement "goto LAB_002b36e8;" goto statement_identifier ;)) }))) (expression_statement "local_60 = puVar5 + 0x1c;" (assignment_expression "local_60 = puVar5 + 0x1c" identifier = (binary_expression "puVar5 + 0x1c" identifier + number_literal)) ;) (expression_statement "iVar4 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (expression_statement "puVar5 = puVar5 + 0x13;" (assignment_expression "puVar5 = puVar5 + 0x13" identifier = (binary_expression "puVar5 + 0x13" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_002446e0("../../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_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;" statement_identifier : (expression_statement "uVar7 = *(int *)(param_1 + 300) + 0x24;" (assignment_expression "uVar7 = *(int *)(param_1 + 300) + 0x24" identifier = (binary_expression "*(int *)(param_1 + 300) + 0x24" (pointer_expression "*(int *)(param_1 + 300)" * (cast_expression "(int *)(param_1 + 300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 300)" ( (binary_expression "param_1 + 300" identifier + number_literal) )))) + number_literal)) ;)) (if_statement "if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130))" ( (binary_expression "*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)" (pointer_expression "*(int *)(param_1 + 300)" * (cast_expression "(int *)(param_1 + 300)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 300)" ( (binary_expression "param_1 + 300" identifier + number_literal) )))) == (pointer_expression "*(int *)(param_1 + 0x130)" * (cast_expression "(int *)(param_1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (do_statement "do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );" do (compound_statement "{\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  }" { (expression_statement "uVar1 = *(uint *)(uVar7 - 0xc);" (assignment_expression "uVar1 = *(uint *)(uVar7 - 0xc)" identifier = (pointer_expression "*(uint *)(uVar7 - 0xc)" * (cast_expression "(uint *)(uVar7 - 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 - 0xc)" ( (binary_expression "uVar7 - 0xc" identifier - number_literal) ))))) ;) (expression_statement "uVar2 = *(uint *)(uVar7 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(uVar7 + 0x1c)" identifier = (pointer_expression "*(uint *)(uVar7 + 0x1c)" * (cast_expression "(uint *)(uVar7 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + 0x1c)" ( (binary_expression "uVar7 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" identifier = identifier) ;) (if_statement "if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" if (parenthesized_expression "(uVar2 < 0xff00)" ( (binary_expression "uVar2 < 0xff00" identifier < number_literal) )) (compound_statement "{\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" { (expression_statement "iVar4 = *(int *)(param_1 + 0x38);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x38)" identifier = (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar4 + uVar2 * 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + uVar2 * 4)" identifier = (pointer_expression "*(int *)(iVar4 + uVar2 * 4)" * (cast_expression "(int *)(iVar4 + uVar2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar2 * 4)" ( (binary_expression "iVar4 + uVar2 * 4" identifier + (binary_expression "uVar2 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar9 != 0) goto LAB_002b3766;" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002b3766;" goto statement_identifier ;)) (labeled_statement "LAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;" statement_identifier : (expression_statement "*(undefined4 *)(iVar4 + uVar1 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + uVar1 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar4 + uVar1 * 4)" * (cast_expression "(undefined4 *)(iVar4 + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar1 * 4)" ( (binary_expression "iVar4 + uVar1 * 4" identifier + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = number_literal) ;)) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (binary_expression "*(int *)(param_1 + 0x84) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x130) == uVar7 + 0x28)" ( (binary_expression "*(int *)(param_1 + 0x130) == uVar7 + 0x28" (pointer_expression "*(int *)(param_1 + 0x130)" * (cast_expression "(int *)(param_1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) )))) == (binary_expression "uVar7 + 0x28" identifier + number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" else (compound_statement "{\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" { (expression_statement "FUN_00106f60(param_1 + 0x90);" (call_expression "FUN_00106f60(param_1 + 0x90)" identifier (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0x38);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x38)" identifier = (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" identifier = (pointer_expression "*(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" * (cast_expression "(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" ( (binary_expression "iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4" identifier + (binary_expression "(uVar2 + *(int *)(param_1 + 0xa4)) * 4" (parenthesized_expression "(uVar2 + *(int *)(param_1 + 0xa4))" ( (binary_expression "uVar2 + *(int *)(param_1 + 0xa4)" identifier + (pointer_expression "*(int *)(param_1 + 0xa4)" * (cast_expression "(int *)(param_1 + 0xa4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xa4)" ( (binary_expression "param_1 + 0xa4" identifier + number_literal) ))))) )) * number_literal)) ))))) ;) (if_statement "if (iVar9 == 0) goto LAB_002b382d;" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002b382d;" goto statement_identifier ;)) (labeled_statement "LAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);" statement_identifier : (expression_statement "puVar5 = (undefined4 *)FUN_003ac4d0(0x14);" (assignment_expression "puVar5 = (undefined4 *)FUN_003ac4d0(0x14)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;)) (expression_statement "uVar2 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x28)" identifier = (pointer_expression "*(uint *)(param_1 + 0x28)" * (cast_expression "(uint *)(param_1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" * identifier) = number_literal) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" if (parenthesized_expression "(uVar2 <= uVar1)" ( (binary_expression "uVar2 <= uVar1" identifier <= identifier) )) (compound_statement "{\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" { (expression_statement "FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_002446e0("../../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 "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;" (assignment_expression "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5" (pointer_expression "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4)" * (cast_expression "(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(param_1 + 0x44) + uVar1 * 4)" ( (binary_expression "**(int **)(param_1 + 0x44) + uVar1 * 4" (pointer_expression "**(int **)(param_1 + 0x44)" * (pointer_expression "*(int **)(param_1 + 0x44)" * (cast_expression "(int **)(param_1 + 0x44)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x44)" ( (binary_expression "param_1 + 0x44" identifier + number_literal) ))))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);" (assignment_expression "uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" identifier = (call_expression "FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" identifier (argument_list "(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" ( identifier , identifier , identifier , (pointer_expression "&local_5c" & identifier) , identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar1 * 4)" ( (binary_expression "*(int *)(param_1 + 0x38) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" * (cast_expression "(int *)(param_1 + 0x38)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = identifier) ;) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" * (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar1 * 4)" ( (binary_expression "*(int *)(param_1 + 0x84) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) )))) + (binary_expression "uVar1 * 4" identifier * number_literal)) )))) = number_literal) ;) (if_statement "if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x130) == uVar7 + 0x28)" ( (binary_expression "*(int *)(param_1 + 0x130) == uVar7 + 0x28" (pointer_expression "*(int *)(param_1 + 0x130)" * (cast_expression "(int *)(param_1 + 0x130)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x130)" ( (binary_expression "param_1 + 0x130" identifier + number_literal) )))) == (binary_expression "uVar7 + 0x28" identifier + number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }))) (expression_statement "uVar7 = uVar7 + 0x4c;" (assignment_expression "uVar7 = uVar7 + 0x4c" identifier = (binary_expression "uVar7 + 0x4c" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ") )))) , (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 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 (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & 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 , (subscript_expression IDENT [ LIT ]) , (pointer_expression & IDENT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & 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 (binary_expression IDENT + LIT) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;) })) (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 ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression * IDENT) , (pointer_expression & IDENT) , (subscript_expression IDENT [ LIT ]) , IDENT , (subscript_expression IDENT [ LIT ]) , (pointer_expression & 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) )))) = 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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) = 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 (binary_expression IDENT + LIT) == IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_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) )))) == (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return ;) })) }) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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 IDENT <= 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 TYPE (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 , (pointer_expression & 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 TYPE (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_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) )))) == (binary_expression IDENT + LIT)) )) (compound_statement { (return_statement return ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_002b3500(int param_1,undefined4 param_2)\n\n{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_002b3500(int param_1,undefined4 param_2)" (identifier "FUN_002b3500") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint uVar2;\n  char cVar3;\n  int iVar4;\n  undefined4 *puVar5;\n  undefined4 uVar6;\n  uint uVar7;\n  undefined4 *puVar8;\n  int iVar9;\n  undefined4 *puVar10;\n  undefined4 *local_60;\n  uint local_5c;\n  uint local_58;\n  int local_50;\n  undefined4 local_4c;\n  int local_44;\n  undefined4 local_40;\n  undefined4 local_3c;\n  undefined4 local_34;\n  undefined4 local_28;\n  \n  puVar5 = *(undefined4 **)(param_1 + 0x120);\n  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }\nLAB_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;\n  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }\n  do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 *puVar5;" (type_identifier "undefined4") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 *local_60;" (type_identifier "undefined4") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "uint local_58;" (type_identifier "uint") (identifier "local_58") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "undefined4 local_40;" (type_identifier "undefined4") (identifier "local_40") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (expression_statement "puVar5 = *(undefined4 **)(param_1 + 0x120);" (assignment_expression "puVar5 = *(undefined4 **)(param_1 + 0x120)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x120)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x120)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x120)" (( "(") (binary_expression "param_1 + 0x120" (identifier "param_1") (+ "+") (number_literal "0x120")) () ")"))))) (; ";")) (if_statement "if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" (if "if") (parenthesized_expression "(puVar5 != *(undefined4 **)(param_1 + 0x124))" (( "(") (binary_expression "puVar5 != *(undefined4 **)(param_1 + 0x124)" (identifier "puVar5") (!= "!=") (pointer_expression "*(undefined4 **)(param_1 + 0x124)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x124)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x124)" (( "(") (binary_expression "param_1 + 0x124" (identifier "param_1") (+ "+") (number_literal "0x124")) () ")"))))) () ")")) (compound_statement "{\n    local_60 = puVar5 + 9;\n    iVar4 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }\n                    \n    FUN_002446e0("../../gold/parameters.h",0x5c,"options");\n  }" ({ "{") (expression_statement "local_60 = puVar5 + 9;" (assignment_expression "local_60 = puVar5 + 9" (identifier "local_60") (= "=") (binary_expression "puVar5 + 9" (identifier "puVar5") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "iVar4 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_005ea7c8 + 8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar4 != 0) {\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);\n    }" ({ "{") (do_statement "do {\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      } while (iVar4 != 0);" (do "do") (compound_statement "{\n        if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }\n        local_60 = puVar5 + 0x1c;\n        iVar4 = *(int *)(DAT_005ea7c8 + 8);\n        puVar5 = puVar5 + 0x13;\n      }" ({ "{") (if_statement "if (((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }\n        else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" (if "if") (parenthesized_expression "(((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0'))" (( "(") (binary_expression "((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&\n           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')" (parenthesized_expression "((*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0))" (( "(") (binary_expression "(*(char *)(iVar4 + 0x318d) == '\0') &&\n            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)" (parenthesized_expression "(*(char *)(iVar4 + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(iVar4 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar4 + 0x318d)" (* "*") (cast_expression "(char *)(iVar4 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x318d)" (( "(") (binary_expression "iVar4 + 0x318d" (identifier "iVar4") (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)" (( "(") (comma_expression "iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0" (assignment_expression "iVar4 = FUN_003b8640(puVar5,".eh_frame")" (identifier "iVar4") (= "=") (call_expression "FUN_003b8640(puVar5,".eh_frame")" (identifier "FUN_003b8640") (argument_list "(puVar5,".eh_frame")" (( "(") (identifier "puVar5") (, ",") (string_literal "".eh_frame"" (" """) (string_content ".eh_frame") (" """)) () ")")))) (, ",") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')" (( "(") (comma_expression "cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0'" (assignment_expression "cVar3 = FUN_0028ff90(param_1,&local_60)" (identifier "cVar3") (= "=") (call_expression "FUN_0028ff90(param_1,&local_60)" (identifier "FUN_0028ff90") (argument_list "(param_1,&local_60)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) () ")")))) (, ",") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n          local_5c = 0;\n          local_58 = 0;\n          local_50 = 0;\n          local_44 = 0;\n          local_3c = 0;\n          local_34 = 0;\n          local_28 = 0;\n                    \n          FUN_002b3240(param_1,&local_5c);\n          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);\n          FUN_0028b670(&local_5c);\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }\n        }" ({ "{") (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_002b3240(param_1,&local_5c);" (call_expression "FUN_002b3240(param_1,&local_5c)" (identifier "FUN_002b3240") (argument_list "(param_1,&local_5c)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")"))) (; ";")) (expression_statement "FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8]);" (call_expression "FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8])" (identifier "FUN_00290130") (argument_list "(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,\n                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],\n                       puVar5[8])" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (pointer_expression "*(undefined4 *)(local_50 + 8)" (* "*") (cast_expression "(undefined4 *)(local_50 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_50 + 8)" (( "(") (binary_expression "local_50 + 8" (identifier "local_50") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "local_4c") (, ",") (pointer_expression "*(undefined4 *)(local_44 + 8)" (* "*") (cast_expression "(undefined4 *)(local_44 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44 + 8)" (( "(") (binary_expression "local_44 + 8" (identifier "local_44") (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "local_40") (, ",") (subscript_expression "puVar5[6]" (identifier "puVar5") ([ "[") (number_literal "6") (] "]")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (subscript_expression "puVar5[7]" (identifier "puVar5") ([ "[") (number_literal "7") (] "]")) (, ",") (subscript_expression "puVar5[8]" (identifier "puVar5") ([ "[") (number_literal "8") (] "]")) () ")"))) (; ";")) (expression_statement "FUN_0028b670(&local_5c);" (call_expression "FUN_0028b670(&local_5c)" (identifier "FUN_0028b670") (argument_list "(&local_5c)" (( "(") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")"))) (; ";")) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x124);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x124)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x124)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x124)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x124)" (( "(") (binary_expression "param_1 + 0x124" (identifier "param_1") (+ "+") (number_literal "0x124")) () ")"))))) (; ";")) (if_statement "if (puVar5 + 0x13 == puVar8) {\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }" (if "if") (parenthesized_expression "(puVar5 + 0x13 == puVar8)" (( "(") (binary_expression "puVar5 + 0x13 == puVar8" (binary_expression "puVar5 + 0x13" (identifier "puVar5") (+ "+") (number_literal "0x13")) (== "==") (identifier "puVar8")) () ")")) (compound_statement "{\nLAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);\n            puVar10 = puVar5;\n            if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }\n            goto LAB_002b3729;\n          }" ({ "{") (labeled_statement "LAB_002b36e8:\n            puVar5 = *(undefined4 **)(param_1 + 0x120);" (statement_identifier "LAB_002b36e8") (: ":") (expression_statement "puVar5 = *(undefined4 **)(param_1 + 0x120);" (assignment_expression "puVar5 = *(undefined4 **)(param_1 + 0x120)" (identifier "puVar5") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x120)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x120)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x120)" (( "(") (binary_expression "param_1 + 0x120" (identifier "param_1") (+ "+") (number_literal "0x120")) () ")"))))) (; ";"))) (expression_statement "puVar10 = puVar5;" (assignment_expression "puVar10 = puVar5" (identifier "puVar10") (= "=") (identifier "puVar5")) (; ";")) (if_statement "if (puVar5 != puVar8) {\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }" (if "if") (parenthesized_expression "(puVar5 != puVar8)" (( "(") (binary_expression "puVar5 != puVar8" (identifier "puVar5") (!= "!=") (identifier "puVar8")) () ")")) (compound_statement "{\n              do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);\n              *(undefined4 **)(param_1 + 0x124) = puVar5;\n            }" ({ "{") (do_statement "do {\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              } while (puVar8 != puVar10);" (do "do") (compound_statement "{\n                if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }\n                puVar10 = puVar10 + 0x13;\n              }" ({ "{") (if_statement "if ((undefined4 *)*puVar10 != puVar10 + 2) {\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }" (if "if") (parenthesized_expression "((undefined4 *)*puVar10 != puVar10 + 2)" (( "(") (binary_expression "(undefined4 *)*puVar10 != puVar10 + 2" (cast_expression "(undefined4 *)*puVar10" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (!= "!=") (binary_expression "puVar10 + 2" (identifier "puVar10") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n                  FUN_003ae080((undefined4 *)*puVar10);\n                }" ({ "{") (expression_statement "FUN_003ae080((undefined4 *)*puVar10);" (call_expression "FUN_003ae080((undefined4 *)*puVar10)" (identifier "FUN_003ae080") (argument_list "((undefined4 *)*puVar10)" (( "(") (cast_expression "(undefined4 *)*puVar10" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar10 = puVar10 + 0x13;" (assignment_expression "puVar10 = puVar10 + 0x13" (identifier "puVar10") (= "=") (binary_expression "puVar10 + 0x13" (identifier "puVar10") (+ "+") (number_literal "0x13"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar8 != puVar10)" (( "(") (binary_expression "puVar8 != puVar10" (identifier "puVar8") (!= "!=") (identifier "puVar10")) () ")")) (; ";")) (expression_statement "*(undefined4 **)(param_1 + 0x124) = puVar5;" (assignment_expression "*(undefined4 **)(param_1 + 0x124) = puVar5" (pointer_expression "*(undefined4 **)(param_1 + 0x124)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x124)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x124)" (( "(") (binary_expression "param_1 + 0x124" (identifier "param_1") (+ "+") (number_literal "0x124")) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (} "}"))) (goto_statement "goto LAB_002b3729;" (goto "goto") (statement_identifier "LAB_002b3729") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" (else "else") (compound_statement "{\n          uVar7 = puVar5[6];\n          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }\n          puVar8 = *(undefined4 **)(param_1 + 0x124);\n          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;\n        }" ({ "{") (expression_statement "uVar7 = puVar5[6];" (assignment_expression "uVar7 = puVar5[6]" (identifier "uVar7") (= "=") (subscript_expression "puVar5[6]" (identifier "puVar5") ([ "[") (number_literal "6") (] "]"))) (; ";")) (if_statement "if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }" (if "if") (parenthesized_expression "((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7)" (( "(") (binary_expression "(uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7" (call_expression "(uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2)" (( "(") (binary_expression "*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2" (binary_expression "*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38)" (pointer_expression "*(int *)(param_1 + 0x3c)" (* "*") (cast_expression "(int *)(param_1 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar7")) () ")")) (compound_statement "{\n                    \n            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");\n          }" ({ "{") (expression_statement "FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_002446e0("../../gold/object.h",0x50b,"is_section_included")" (identifier "FUN_002446e0") (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") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0" (pointer_expression "*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar7 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar4 = puVar5[7];\n            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);\n            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;\n            if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }\n          }" ({ "{") (expression_statement "iVar4 = puVar5[7];" (assignment_expression "iVar4 = puVar5[7]" (identifier "iVar4") (= "=") (subscript_expression "puVar5[7]" (identifier "puVar5") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c);" (assignment_expression "uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" (identifier "uVar6") (= "=") (call_expression "FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" (identifier "FUN_00288400") (argument_list "(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]\n                                 ,&local_5c)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "uVar7") (, ",") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (subscript_expression "local_60[1]" (identifier "local_60") ([ "[") (number_literal "1") (] "]")) (, ",") (identifier "iVar4") (, ",") (subscript_expression "puVar5[8]" (identifier "puVar5") ([ "[") (number_literal "8") (] "]")) (, ",") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar7 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (if_statement "if ((local_58 & local_5c) == 0xffffffff) {\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }\n            else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" (if "if") (parenthesized_expression "((local_58 & local_5c) == 0xffffffff)" (( "(") (binary_expression "(local_58 & local_5c) == 0xffffffff" (parenthesized_expression "(local_58 & local_5c)" (( "(") (binary_expression "local_58 & local_5c" (identifier "local_58") (& "&") (identifier "local_5c")) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;\n              if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }\n            }" ({ "{") (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar7 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x84) + uVar7 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (iVar4 != 0) {\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined1 *)(param_1 + 0x4c) = 1;\n              }" ({ "{") (expression_statement "*(undefined1 *)(param_1 + 0x4c) = 1;" (assignment_expression "*(undefined1 *)(param_1 + 0x4c) = 1" (pointer_expression "*(undefined1 *)(param_1 + 0x4c)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x4c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x4c)" (( "(") (binary_expression "param_1 + 0x4c" (identifier "param_1") (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" (else "else") (compound_statement "{\n              if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }\n              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;\n            }" ({ "{") (if_statement "if (local_58 != 0) {\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }" (if "if") (parenthesized_expression "(local_58 != 0)" (( "(") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");\n              }" ({ "{") (expression_statement "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_002446e0("../../gold/gold.h",0xc0,"convert_types")" (identifier "FUN_002446e0") (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 "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;" (assignment_expression "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c" (pointer_expression "*(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84))" (* "*") (cast_expression "(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 * 4 + *(int *)(param_1 + 0x84))" (( "(") (binary_expression "uVar7 * 4 + *(int *)(param_1 + 0x84)" (binary_expression "uVar7 * 4" (identifier "uVar7") (* "*") (number_literal "4")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")"))))) () ")")))) (= "=") (identifier "local_5c")) (; ";")) (} "}")))) (} "}"))) (expression_statement "puVar8 = *(undefined4 **)(param_1 + 0x124);" (assignment_expression "puVar8 = *(undefined4 **)(param_1 + 0x124)" (identifier "puVar8") (= "=") (pointer_expression "*(undefined4 **)(param_1 + 0x124)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x124)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x124)" (( "(") (binary_expression "param_1 + 0x124" (identifier "param_1") (+ "+") (number_literal "0x124")) () ")"))))) (; ";")) (if_statement "if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;" (if "if") (parenthesized_expression "(puVar5 + 0x13 == puVar8)" (( "(") (binary_expression "puVar5 + 0x13 == puVar8" (binary_expression "puVar5 + 0x13" (identifier "puVar5") (+ "+") (number_literal "0x13")) (== "==") (identifier "puVar8")) () ")")) (goto_statement "goto LAB_002b36e8;" (goto "goto") (statement_identifier "LAB_002b36e8") (; ";"))) (} "}")))) (expression_statement "local_60 = puVar5 + 0x1c;" (assignment_expression "local_60 = puVar5 + 0x1c" (identifier "local_60") (= "=") (binary_expression "puVar5 + 0x1c" (identifier "puVar5") (+ "+") (number_literal "0x1c"))) (; ";")) (expression_statement "iVar4 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar4 = *(int *)(DAT_005ea7c8 + 8)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "puVar5 = puVar5 + 0x13;" (assignment_expression "puVar5 = puVar5 + 0x13" (identifier "puVar5") (= "=") (binary_expression "puVar5 + 0x13" (identifier "puVar5") (+ "+") (number_literal "0x13"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_002446e0") (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_002b3729:\n  uVar7 = *(int *)(param_1 + 300) + 0x24;" (statement_identifier "LAB_002b3729") (: ":") (expression_statement "uVar7 = *(int *)(param_1 + 300) + 0x24;" (assignment_expression "uVar7 = *(int *)(param_1 + 300) + 0x24" (identifier "uVar7") (= "=") (binary_expression "*(int *)(param_1 + 300) + 0x24" (pointer_expression "*(int *)(param_1 + 300)" (* "*") (cast_expression "(int *)(param_1 + 300)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 300)" (( "(") (binary_expression "param_1 + 300" (identifier "param_1") (+ "+") (number_literal "300")) () ")")))) (+ "+") (number_literal "0x24"))) (; ";"))) (if_statement "if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130))" (( "(") (binary_expression "*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)" (pointer_expression "*(int *)(param_1 + 300)" (* "*") (cast_expression "(int *)(param_1 + 300)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 300)" (( "(") (binary_expression "param_1 + 300" (identifier "param_1") (+ "+") (number_literal "300")) () ")")))) (== "==") (pointer_expression "*(int *)(param_1 + 0x130)" (* "*") (cast_expression "(int *)(param_1 + 0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x130)" (( "(") (binary_expression "param_1 + 0x130" (identifier "param_1") (+ "+") (number_literal "0x130")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (do_statement "do {\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  } while( true );" (do "do") (compound_statement "{\n    uVar1 = *(uint *)(uVar7 - 0xc);\n    uVar2 = *(uint *)(uVar7 + 0x1c);\n    local_5c = uVar7;\n    if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    uVar7 = uVar7 + 0x4c;\n  }" ({ "{") (expression_statement "uVar1 = *(uint *)(uVar7 - 0xc);" (assignment_expression "uVar1 = *(uint *)(uVar7 - 0xc)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(uVar7 - 0xc)" (* "*") (cast_expression "(uint *)(uVar7 - 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 - 0xc)" (( "(") (binary_expression "uVar7 - 0xc" (identifier "uVar7") (- "-") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(uint *)(uVar7 + 0x1c);" (assignment_expression "uVar2 = *(uint *)(uVar7 + 0x1c)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(uVar7 + 0x1c)" (* "*") (cast_expression "(uint *)(uVar7 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 + 0x1c)" (( "(") (binary_expression "uVar7 + 0x1c" (identifier "uVar7") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" (identifier "local_5c") (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (uVar2 < 0xff00) {\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }\n    else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(uVar2 < 0xff00)" (( "(") (binary_expression "uVar2 < 0xff00" (identifier "uVar2") (< "<") (number_literal "0xff00")) () ")")) (compound_statement "{\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + uVar2 * 4);\n      if (iVar9 != 0) goto LAB_002b3766;\nLAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" ({ "{") (expression_statement "iVar4 = *(int *)(param_1 + 0x38);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x38)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar4 + uVar2 * 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + uVar2 * 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar4 + uVar2 * 4)" (* "*") (cast_expression "(int *)(iVar4 + uVar2 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + uVar2 * 4)" (( "(") (binary_expression "iVar4 + uVar2 * 4" (identifier "iVar4") (+ "+") (binary_expression "uVar2 * 4" (identifier "uVar2") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar9 != 0) goto LAB_002b3766;" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002b3766;" (goto "goto") (statement_identifier "LAB_002b3766") (; ";"))) (labeled_statement "LAB_002b382d:\n      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;" (statement_identifier "LAB_002b382d") (: ":") (expression_statement "*(undefined4 *)(iVar4 + uVar1 * 4) = 0;" (assignment_expression "*(undefined4 *)(iVar4 + uVar1 * 4) = 0" (pointer_expression "*(undefined4 *)(iVar4 + uVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(iVar4 + uVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + uVar1 * 4)" (( "(") (binary_expression "iVar4 + uVar1 * 4" (identifier "iVar4") (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar1 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x84) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x130) == uVar7 + 0x28)" (( "(") (binary_expression "*(int *)(param_1 + 0x130) == uVar7 + 0x28" (pointer_expression "*(int *)(param_1 + 0x130)" (* "*") (cast_expression "(int *)(param_1 + 0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x130)" (( "(") (binary_expression "param_1 + 0x130" (identifier "param_1") (+ "+") (number_literal "0x130")) () ")")))) (== "==") (binary_expression "uVar7 + 0x28" (identifier "uVar7") (+ "+") (number_literal "0x28"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" (else "else") (compound_statement "{\n      FUN_00106f60(param_1 + 0x90);\n      iVar4 = *(int *)(param_1 + 0x38);\n      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);\n      if (iVar9 == 0) goto LAB_002b382d;\nLAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);\n      uVar2 = *(uint *)(param_1 + 0x28);\n      *puVar5 = 0;\n      puVar5[1] = 0;\n      puVar5[2] = 0;\n      puVar5[3] = 0;\n      puVar5[4] = 0;\n      if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }\n      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;\n      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);\n      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;\n      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;\n      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }\n    }" ({ "{") (expression_statement "FUN_00106f60(param_1 + 0x90);" (call_expression "FUN_00106f60(param_1 + 0x90)" (identifier "FUN_00106f60") (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0x38);" (assignment_expression "iVar4 = *(int *)(param_1 + 0x38)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);" (assignment_expression "iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" (* "*") (cast_expression "(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4)" (( "(") (binary_expression "iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4" (identifier "iVar4") (+ "+") (binary_expression "(uVar2 + *(int *)(param_1 + 0xa4)) * 4" (parenthesized_expression "(uVar2 + *(int *)(param_1 + 0xa4))" (( "(") (binary_expression "uVar2 + *(int *)(param_1 + 0xa4)" (identifier "uVar2") (+ "+") (pointer_expression "*(int *)(param_1 + 0xa4)" (* "*") (cast_expression "(int *)(param_1 + 0xa4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xa4)" (( "(") (binary_expression "param_1 + 0xa4" (identifier "param_1") (+ "+") (number_literal "0xa4")) () ")"))))) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar9 == 0) goto LAB_002b382d;" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002b382d;" (goto "goto") (statement_identifier "LAB_002b382d") (; ";"))) (labeled_statement "LAB_002b3766:\n      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);" (statement_identifier "LAB_002b3766") (: ":") (expression_statement "puVar5 = (undefined4 *)FUN_003ac4d0(0x14);" (assignment_expression "puVar5 = (undefined4 *)FUN_003ac4d0(0x14)" (identifier "puVar5") (= "=") (cast_expression "(undefined4 *)FUN_003ac4d0(0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x14)" (identifier "FUN_003ac4d0") (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")"))))) (; ";"))) (expression_statement "uVar2 = *(uint *)(param_1 + 0x28);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x28)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(param_1 + 0x28)" (* "*") (cast_expression "(uint *)(param_1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*puVar5 = 0;" (assignment_expression "*puVar5 = 0" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" (identifier "puVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" (identifier "puVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" (identifier "puVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" (identifier "puVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar2 <= uVar1) {\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" (if "if") (parenthesized_expression "(uVar2 <= uVar1)" (( "(") (binary_expression "uVar2 <= uVar1" (identifier "uVar2") (<= "<=") (identifier "uVar1")) () ")")) (compound_statement "{\n                    \n        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");\n      }" ({ "{") (expression_statement "FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");" (call_expression "FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs")" (identifier "FUN_002446e0") (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 "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;" (assignment_expression "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5" (pointer_expression "*(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4)" (* "*") (cast_expression "(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(param_1 + 0x44) + uVar1 * 4)" (( "(") (binary_expression "**(int **)(param_1 + 0x44) + uVar1 * 4" (pointer_expression "**(int **)(param_1 + 0x44)" (* "*") (pointer_expression "*(int **)(param_1 + 0x44)" (* "*") (cast_expression "(int **)(param_1 + 0x44)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x44)" (( "(") (binary_expression "param_1 + 0x44" (identifier "param_1") (+ "+") (number_literal "0x44")) () ")"))))) (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "puVar5")) (; ";")) (expression_statement "uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);" (assignment_expression "uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" (identifier "uVar6") (= "=") (call_expression "FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" (identifier "FUN_00280310") (argument_list "(param_2,param_1,uVar1,&local_5c,iVar9,puVar5)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") (, ",") (identifier "uVar1") (, ",") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) (, ",") (identifier "iVar9") (, ",") (identifier "puVar5") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x38) + uVar1 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x38) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x38)" (* "*") (cast_expression "(int *)(param_1 + 0x38)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff" (pointer_expression "*(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x84) + uVar1 * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x84) + uVar1 * 4" (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")")))) (+ "+") (binary_expression "uVar1 * 4" (identifier "uVar1") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {\n        return;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x130) == uVar7 + 0x28)" (( "(") (binary_expression "*(int *)(param_1 + 0x130) == uVar7 + 0x28" (pointer_expression "*(int *)(param_1 + 0x130)" (* "*") (cast_expression "(int *)(param_1 + 0x130)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x130)" (( "(") (binary_expression "param_1 + 0x130" (identifier "param_1") (+ "+") (number_literal "0x130")) () ")")))) (== "==") (binary_expression "uVar7 + 0x28" (identifier "uVar7") (+ "+") (number_literal "0x28"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar7 = uVar7 + 0x4c;" (assignment_expression "uVar7 = uVar7 + 0x4c" (identifier "uVar7") (= "=") (binary_expression "uVar7 + 0x4c" (identifier "uVar7") (+ "+") (number_literal "0x4c"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": 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,Layout *layout)

{
  type_3 *var_31;
  type_1 var_25;
  type_2 var_18;
  type_3 *var_32;
  type_4 *var_26;
  bool bVar5;
  type_5 *var_7;
  int var_9;
  type_6 *rr;
  type_7 *var_27;
  type_2 ppOVar9;
  type_2 var_14;
  type_2 var_13;
  type_2 var_20;
  type_8 *pFVar13;
  type_1 var_22;
  type_9 shdr;
  type_10 var_34;
  
  var_13 = (this->deferred_layout_).
            super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
            ._M_impl._M_start;
  if (var_13 !=
      (this->deferred_layout_).
      super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
      ._M_impl._M_finish) {
    shdr.p_ = (var_6<32> *)var_13->shdr_data_;
    var_7 = parameters->options_;
    if (var_7 != (type_5 *)0x0) {
      do {
        if ((((var_7->relocatable_).value == false) &&
            (var_9 = std::string::var_8((char *)var_13), var_9 == 0)) &&
           (bVar5 = var_10(this,&shdr), bVar5)) {
          var_34.section_headers = (type_8 *)0x0;
          var_34.section_names = (type_8 *)0x0;
          var_34.symbols = (type_8 *)0x0;
          var_34.symbol_names = (type_8 *)0x0;
          var_34.versym = (type_8 *)0x0;
          var_34.verdef = (type_8 *)0x0;
          var_34.verneed = (type_8 *)0x0;
                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */
          var_11(this,&var_34);
          var_22 = var_13->reloc_type_;
          var_12
                    (this,layout,(var_34.symbols)->data_,var_34.symbols_size,(var_34.symbol_names)->data_,
                     var_34.symbol_names_size,var_13->shndx_,&shdr,var_13->reloc_shndx_,var_22);
          Read_symbols_data::~type_10(&var_34,var_22);
          var_14 = (this->deferred_layout_).
                    super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
                    ._M_impl._M_finish;
          if (var_13 + 1 == var_14) {
LAB_002b36e8:
            var_13 = (this->deferred_layout_).
                      super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
                      ._M_impl._M_start;
            var_20 = var_13;
            if (var_13 != var_14) {
              do {
                var_18 = (var_20->name_)._M_dataplus._M_p;
                if ((anon_union_16_2_edb7204a_for_basic_string<var_16,var_21::char_traits<var_16>,var_21::var_15<var_16>var_3>var_17
                     *)var_18 != &(var_20->name_).field_2) {
                  var_19(var_18);
                }
                var_20 = var_20 + 1;
              } while (var_14 != var_20);
              (this->deferred_layout_).
              super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
              ._M_impl._M_finish = var_13;
            }
            goto LAB_002b3729;
          }
        }
        else {
          ppOVar9 = (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                    super__Vector_base<var_1::type_7*,var_21::var_15<var_1::type_7*>var_3>
                    ._M_impl._M_start;
          var_22 = var_13->shndx_;
          if ((type_1)((int)(this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                          super__Vector_base<var_1::type_7*,var_21::var_15<var_1::type_7*>var_3>
                          ._M_impl._M_finish - (int)ppOVar9 >> 2) <= var_22) {
                    /* WARNING: Subroutine does not return */
            var_23("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar9[var_22] != (type_7 *)0x0) {
            var_25 = var_13->reloc_shndx_;
            var_27 = Layout::layout<32,var_5>
                               (layout,this,var_22,(var_13->name_)._M_dataplus._M_p,&shdr,
                                (shdr.p_)->sh_type,var_25,var_13->reloc_type_,(type_11 *)&var_34);
            (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
            super__Vector_base<var_1::type_7*,var_21::var_15<var_1::type_7*>var_3>.
            _M_impl._M_start[var_22] = var_27;
            if (((type_1)var_34.section_names & (type_1)var_34.section_headers) == 0xffffffff) {
              (this->super_Sized_relobj<32,var_5>).section_offsets_.
              super__Vector_base<var_24,var_21::var_15<var_24>var_3>._M_impl._M_start
              [var_22] = 0xffffffff;
              if (var_25 != 0) {
                (this->super_Sized_relobj<32,var_5>).super_Relobj.
                relocs_must_follow_section_writes_ = true;
              }
            }
            else {
              if (var_34.section_names != (type_8 *)0x0) {
                    /* WARNING: Subroutine does not return */
                var_23("../../gold/gold.h",0xc0,"convert_types");
              }
              (this->super_Sized_relobj<32,var_5>).section_offsets_.
              super__Vector_base<var_24,var_21::var_15<var_24>var_3>._M_impl._M_start
              [var_22] = (type_1)var_34.section_headers;
            }
          }
          var_14 = (this->deferred_layout_).
                    super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
                    ._M_impl._M_finish;
          if (var_13 + 1 == var_14) goto LAB_002b36e8;
        }
        shdr.p_ = (var_6<32> *)var_13[1].shdr_data_;
        var_7 = parameters->options_;
        var_13 = var_13 + 1;
      } while (var_7 != (type_5 *)0x0);
    }
                    /* WARNING: Subroutine does not return */
    var_23("../../gold/parameters.h",0x5c,"options");
  }
LAB_002b3729:
  var_13 = (this->deferred_layout_relocs_).
            super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
            ._M_impl._M_start;
  pFVar13 = (type_8 *)var_13->shdr_data_;
  if (var_13 ==
      (this->deferred_layout_relocs_).
      super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
      ._M_impl._M_finish) {
    return;
  }
  do {
    var_32 = pFVar13[-1].file_;
    var_26 = pFVar13[2].view_;
    var_34.section_headers = pFVar13;
    if (var_26 < (type_4 *)0xff00) {
      ppOVar9 = (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                super__Vector_base<var_1::type_7*,var_21::var_15<var_1::type_7*>var_3>.
                _M_impl._M_start;
      var_27 = ppOVar9[(int)var_26];
      if (var_27 != (type_7 *)0x0) goto LAB_002b3766;
LAB_002b382d:
      ppOVar9[(int)var_32] = (type_7 *)0x0;
      (this->super_Sized_relobj<32,var_5>).section_offsets_.
      super__Vector_base<var_24,var_21::var_15<var_24>var_3>._M_impl._M_start[(int)var_32]
           = 0xffffffff;
      if ((this->deferred_layout_relocs_).
          super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
          ._M_impl._M_finish == (type_2)&pFVar13[3].view_) {
        return;
      }
    }
    else {
      elfcpp::Elf_file<32,var_5,_gold::Object>::var_28(&this->elf_file_);
      ppOVar9 = (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
                super__Vector_base<var_1::type_7*,var_21::var_15<var_1::type_7*>var_3>.
                _M_impl._M_start;
      var_27 = ppOVar9[(int)&var_26->start_ + (this->elf_file_).large_shndx_offset_];
      if (var_27 == (type_7 *)0x0) goto LAB_002b382d;
LAB_002b3766:
      rr = (type_6 *)var_29(0x14);
      var_31 = (type_3 *)(this->super_Sized_relobj<32,var_5>).super_Relobj.super_Object.shnum_;
      (rr->reloc_strategies_).super__Vector_base<var_30,var_21::var_15<var_30>var_3>.
      _M_impl._M_start = (type_2)0x0;
      (rr->reloc_strategies_).super__Vector_base<var_30,var_21::var_15<var_30>var_3>.
      _M_impl._M_finish = (type_2)0x0;
      (rr->reloc_strategies_).super__Vector_base<var_30,var_21::var_15<var_30>var_3>.
      _M_impl._M_end_of_storage = (type_2)0x0;
      rr->output_reloc_count_ = 0;
      rr->posd_ = (type_12 *)0x0;
      if (var_31 <= var_32) {
                    /* WARNING: Subroutine does not return */
        var_23("../../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_6*,var_21::var_15<var_1::type_6*>var_3>var_33).
      _M_impl._M_start[(int)var_32] = rr;
      var_27 = Layout::layout_reloc<32,var_5>
                         (layout,this,(type_1)var_32,(type_9<32,var_5> *var_33)&var_34,var_27,rr);
      (this->super_Sized_relobj<32,var_5>).super_Relobj.output_sections_.
      super__Vector_base<var_1::type_7*,var_21::var_15<var_1::type_7*>var_3>._M_impl.
      _M_start[(int)var_32] = var_27;
      (this->super_Sized_relobj<32,var_5>).section_offsets_.
      super__Vector_base<var_24,var_21::var_15<var_24>var_3>._M_impl._M_start[(int)var_32]
           = 0xffffffff;
      if ((this->deferred_layout_relocs_).
          super__Vector_base<var_1::var_4<32,var_5>::var_2,var_21::var_15<var_1::var_4<32,var_5>::var_2>var_3>
          ._M_impl._M_finish == (type_2)&pFVar13[3].view_) {
        return;
      }
    }
    pFVar13 = (type_8 *)&pFVar13[6].view_;
  } while( true );
}


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

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(int param_1,undefined4 param_2)

{
  uint uVar1;
  uint uVar2;
  char cVar3;
  int iVar4;
  undefined4 *puVar5;
  undefined4 uVar6;
  uint uVar7;
  undefined4 *puVar8;
  int iVar9;
  undefined4 *puVar10;
  undefined4 *local_60;
  uint local_5c;
  uint local_58;
  int local_50;
  undefined4 local_4c;
  int local_44;
  undefined4 local_40;
  undefined4 local_3c;
  undefined4 local_34;
  undefined4 local_28;
  
  puVar5 = *(undefined4 **)(param_1 + 0x120);
  if (puVar5 != *(undefined4 **)(param_1 + 0x124)) {
    local_60 = puVar5 + 9;
    iVar4 = *(int *)(DAT_005ea7c8 + 8);
    if (iVar4 != 0) {
      do {
        if (((*(char *)(iVar4 + 0x318d) == '\0') &&
            (iVar4 = FUN_003b8640(puVar5,".eh_frame"), iVar4 == 0)) &&
           (cVar3 = FUN_0028ff90(param_1,&local_60), cVar3 != '\0')) {
          local_5c = 0;
          local_58 = 0;
          local_50 = 0;
          local_44 = 0;
          local_3c = 0;
          local_34 = 0;
          local_28 = 0;
                    /* try { // try from 002b3692 to 002b36bf has its CatchHandler @ 002b38f9 */
          FUN_002b3240(param_1,&local_5c);
          FUN_00290130(param_1,param_2,*(undefined4 *)(local_50 + 8),local_4c,
                       *(undefined4 *)(local_44 + 8),local_40,puVar5[6],&local_60,puVar5[7],
                       puVar5[8]);
          FUN_0028b670(&local_5c);
          puVar8 = *(undefined4 **)(param_1 + 0x124);
          if (puVar5 + 0x13 == puVar8) {
LAB_002b36e8:
            puVar5 = *(undefined4 **)(param_1 + 0x120);
            puVar10 = puVar5;
            if (puVar5 != puVar8) {
              do {
                if ((undefined4 *)*puVar10 != puVar10 + 2) {
                  FUN_003ae080((undefined4 *)*puVar10);
                }
                puVar10 = puVar10 + 0x13;
              } while (puVar8 != puVar10);
              *(undefined4 **)(param_1 + 0x124) = puVar5;
            }
            goto LAB_002b3729;
          }
        }
        else {
          uVar7 = puVar5[6];
          if ((uint)(*(int *)(param_1 + 0x3c) - *(int *)(param_1 + 0x38) >> 2) <= uVar7) {
                    /* WARNING: Subroutine does not return */
            FUN_002446e0("../../gold/object.h",0x50b,"is_section_included");
          }
          if (*(int *)(*(int *)(param_1 + 0x38) + uVar7 * 4) != 0) {
            iVar4 = puVar5[7];
            uVar6 = FUN_00288400(param_2,param_1,uVar7,*puVar5,&local_60,local_60[1],iVar4,puVar5[8]
                                 ,&local_5c);
            *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar7 * 4) = uVar6;
            if ((local_58 & local_5c) == 0xffffffff) {
              *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar7 * 4) = 0xffffffff;
              if (iVar4 != 0) {
                *(undefined1 *)(param_1 + 0x4c) = 1;
              }
            }
            else {
              if (local_58 != 0) {
                    /* WARNING: Subroutine does not return */
                FUN_002446e0("../../gold/gold.h",0xc0,"convert_types");
              }
              *(uint *)(uVar7 * 4 + *(int *)(param_1 + 0x84)) = local_5c;
            }
          }
          puVar8 = *(undefined4 **)(param_1 + 0x124);
          if (puVar5 + 0x13 == puVar8) goto LAB_002b36e8;
        }
        local_60 = puVar5 + 0x1c;
        iVar4 = *(int *)(DAT_005ea7c8 + 8);
        puVar5 = puVar5 + 0x13;
      } while (iVar4 != 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/parameters.h",0x5c,"options");
  }
LAB_002b3729:
  uVar7 = *(int *)(param_1 + 300) + 0x24;
  if (*(int *)(param_1 + 300) == *(int *)(param_1 + 0x130)) {
    return;
  }
  do {
    uVar1 = *(uint *)(uVar7 - 0xc);
    uVar2 = *(uint *)(uVar7 + 0x1c);
    local_5c = uVar7;
    if (uVar2 < 0xff00) {
      iVar4 = *(int *)(param_1 + 0x38);
      iVar9 = *(int *)(iVar4 + uVar2 * 4);
      if (iVar9 != 0) goto LAB_002b3766;
LAB_002b382d:
      *(undefined4 *)(iVar4 + uVar1 * 4) = 0;
      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;
      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {
        return;
      }
    }
    else {
      FUN_00106f60(param_1 + 0x90);
      iVar4 = *(int *)(param_1 + 0x38);
      iVar9 = *(int *)(iVar4 + (uVar2 + *(int *)(param_1 + 0xa4)) * 4);
      if (iVar9 == 0) goto LAB_002b382d;
LAB_002b3766:
      puVar5 = (undefined4 *)FUN_003ac4d0(0x14);
      uVar2 = *(uint *)(param_1 + 0x28);
      *puVar5 = 0;
      puVar5[1] = 0;
      puVar5[2] = 0;
      puVar5[3] = 0;
      puVar5[4] = 0;
      if (uVar2 <= uVar1) {
                    /* WARNING: Subroutine does not return */
        FUN_002446e0("../../gold/object.h",0x541,"set_relocatable_relocs");
      }
      *(undefined4 **)(**(int **)(param_1 + 0x44) + uVar1 * 4) = puVar5;
      uVar6 = FUN_00280310(param_2,param_1,uVar1,&local_5c,iVar9,puVar5);
      *(undefined4 *)(*(int *)(param_1 + 0x38) + uVar1 * 4) = uVar6;
      *(undefined4 *)(*(int *)(param_1 + 0x84) + uVar1 * 4) = 0xffffffff;
      if (*(int *)(param_1 + 0x130) == uVar7 + 0x28) {
        return;
      }
    }
    uVar7 = uVar7 + 0x4c;
  } while( true );
}

