
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_scan_relocs(Sized_relobj_file<64,_true> * this, Symbol_table *
   symtab, Layout * layout, Read_relocs_data * rd) */

void __thiscall
gold::Sized_relobj_file<64,_true>::do_scan_relocs
          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,
          Read_relocs_data *rd)

{
  Target *pTVar1;
  size_t sVar2;
  Relocatable_relocs *this_00;
  bool bVar3;
  int iVar4;
  uint uVar5;
  undefined4 extraout_var;
  uint *puVar6;
  undefined4 extraout_var_00;
  undefined4 extraout_var_01;
  General_options *pGVar7;
  ulong uVar8;
  ulong *puVar9;
  Symbol_table *pSVar10;
  Symbol_table *pSVar11;
  Symbol_table *pSVar12;
  size_t sVar13;
  File_view *pFVar14;
  File_view *local_60;
  iterator p;
  
  pTVar1 = parameters->target_;
  if (pTVar1 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");
  }
  local_60 = rd->local_symbols;
  if (local_60 != (File_view *)0x0) {
    local_60 = (File_view *)local_60->data_;
  }
  pSVar10 = symtab;
  if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {
    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])
                      (this);
    uVar8 = (((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3
            & 0xffffffffU) << 2;
    puVar6 = (uint *)operator_new__(uVar8);
    pSVar10 = (Symbol_table *)0x0;
    (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = puVar6;
    memset(puVar6,0,uVar8);
  }
  p._M_current = (rd->relocs).
                 super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>.
                 _M_impl._M_start;
  if (p._M_current ==
      (rd->relocs).super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>.
      _M_impl._M_finish) {
LAB_00247470:
    iVar4 = (int)pSVar10;
    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {
      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);
      iVar4 = (int)layout;
    }
    pFVar14 = rd->local_symbols;
    if (pFVar14 != (File_view *)0x0) {
      File_view::~File_view(pFVar14,iVar4);
      operator_delete(pFVar14,0x18);
      rd->local_symbols = (File_view *)0x0;
    }
    return;
  }
  pGVar7 = parameters->options_;
  if (pGVar7 != (General_options *)0x0) {
    do {
      if ((((pGVar7->gc_sections_).value == false) &&
          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))
         || ((p._M_current)->output_section != (Output_section *)0x0)) {
        if ((pGVar7->relocatable_).value == false) {
          if ((p._M_current)->is_data_section_allocated != false) {
            pSVar10 = symtab;
            (**(code **)(*(long *)pTVar1 + 0x168))
                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,
                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,
                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,
                       this->local_symbol_count_,local_60);
          }
          if (parameters->options_ == (General_options *)0x0) break;
          if ((parameters->options_->emit_relocs_).value != false) {
            pSVar10 = symtab;
            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);
          }
          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;
          if ((p._M_current)->sh_type == 9) {
            pFVar14 = (p._M_current)->contents;
            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;
            puVar9 = (ulong *)pFVar14->data_;
            if (pSVar11 != (Symbol_table *)0x0) {
              pSVar12 = (Symbol_table *)0x0;
              pSVar10 = pSVar11;
              do {
                if ((p._M_current)->needs_special_offset_handling == false) {
LAB_002473e0:
                  uVar8 = puVar9[1];
                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |
                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |
                          (uint)((uVar8 << 0x38) >> 0x20);
                  if (this->local_symbol_count_ <= uVar5) {
                    uVar5 = uVar5 - this->local_symbol_count_;
                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                              _vptr_Object[0x1d])(this);
                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -
                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)
                    goto LAB_0024750d;
                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;
                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;
                    puVar6 = puVar6 + uVar5;
                    *puVar6 = *puVar6 + 1;
                  }
                }
                else {
                  uVar8 = *puVar9;
                  pSVar10 = (Symbol_table *)this;
                  bVar3 = Output_section::is_input_address_mapped
                                    ((p._M_current)->output_section,(Relobj *)this,
                                     (p._M_current)->data_shndx,
                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |
                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8
                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |
                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);
                  if (bVar3) goto LAB_002473e0;
                }
                pSVar12 = (Symbol_table *)
                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->
                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>
                                  )._M_impl._M_start + 1);
                puVar9 = puVar9 + 2;
              } while (pSVar11 != pSVar12);
              goto LAB_002472d6;
            }
          }
          else {
            if ((p._M_current)->sh_type != 4) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            pFVar14 = (p._M_current)->contents;
            sVar2 = (p._M_current)->reloc_count;
            puVar9 = (ulong *)pFVar14->data_;
            pSVar11 = pSVar10;
            if (sVar2 != 0) {
              sVar13 = 0;
              do {
                if ((p._M_current)->needs_special_offset_handling == false) {
LAB_00247200:
                  uVar8 = puVar9[1];
                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |
                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |
                          (uint)((uVar8 << 0x38) >> 0x20);
                  if (this->local_symbol_count_ <= uVar5) {
                    uVar5 = uVar5 - this->local_symbol_count_;
                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                              _vptr_Object[0x1d])(this);
                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -
                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {
LAB_0024750d:
                    /* WARNING: Subroutine does not return */
                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");
                    }
                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;
                    if (puVar6 == (uint *)0x0) {
LAB_002474f5:
                    /* WARNING: Subroutine does not return */
                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");
                    }
                    puVar6 = puVar6 + uVar5;
                    *puVar6 = *puVar6 + 1;
                  }
                }
                else {
                  uVar8 = *puVar9;
                  pSVar10 = (Symbol_table *)this;
                  bVar3 = Output_section::is_input_address_mapped
                                    ((p._M_current)->output_section,(Relobj *)this,
                                     (p._M_current)->data_shndx,
                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |
                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8
                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |
                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);
                  if (bVar3) goto LAB_00247200;
                }
                sVar13 = sVar13 + 1;
                puVar9 = puVar9 + 3;
              } while (sVar2 != sVar13);
              goto LAB_002472d6;
            }
          }
LAB_002472df:
          File_view::~File_view(pFVar14,(int)pSVar11);
          operator_delete(pFVar14,0x18);
        }
        else {
          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=
              (p._M_current)->reloc_shndx) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");
          }
          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)
                    ->
                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>
                    )._M_impl._M_start[(p._M_current)->reloc_shndx];
          if (this_00 == (Relocatable_relocs *)0x0) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve
                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);
          pSVar10 = symtab;
          (**(code **)(*(long *)pTVar1 + 0x178))
                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,
                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,
                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,
                     this->local_symbol_count_,local_60,this_00);
LAB_002472d6:
          pFVar14 = (p._M_current)->contents;
          pSVar11 = pSVar10;
          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;
        }
        (p._M_current)->contents = (File_view *)0x0;
      }
      p._M_current = p._M_current + 1;
      pSVar10 = (Symbol_table *)rd;
      if ((rd->relocs).
          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.
          _M_finish == p._M_current) goto LAB_00247470;
      pGVar7 = parameters->options_;
    } while (pGVar7 != (General_options *)0x0);
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
}



void FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)

{
  int *piVar1;
  long *plVar2;
  long lVar3;
  ulong uVar4;
  char cVar5;
  uint uVar6;
  long *plVar7;
  void *__s;
  size_t __n;
  ulong *puVar8;
  long lVar9;
  long local_60;
  uint *local_40 [2];
  
  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);
  if (plVar2 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");
  }
  local_60 = param_4[3];
  if (local_60 != 0) {
    local_60 = *(long *)(local_60 + 0x10);
  }
  if (*(long *)(param_3 + 0x378) != 0) {
    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);
    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;
    __s = (void *)thunk_FUN_002d94a0(__n);
    param_1[0x12] = (long)__s;
    memset(__s,0,__n);
  }
  local_40[0] = (uint *)*param_4;
  if (local_40[0] == (uint *)param_4[1]) {
LAB_00247470:
    if (*(long *)(param_3 + 0x378) != 0) {
      FUN_001bd780(param_1,param_3,1);
    }
    lVar9 = param_4[3];
    if (lVar9 != 0) {
      FUN_0017a780(lVar9);
      thunk_FUN_002dac70(lVar9,0x18);
      param_4[3] = 0;
    }
    return;
  }
  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  if (lVar9 != 0) {
    do {
      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||
         (*(long *)(local_40[0] + 8) != 0)) {
        if (*(char *)(lVar9 + 0x5051) == '\0') {
          if (*(char *)((long)local_40[0] + 0x29) != '\0') {
            (**(code **)(*plVar2 + 0x168))
                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],
                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),
                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),
                       (char)local_40[0][10],(int)param_1[0x24],local_60);
          }
          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;
          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {
            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);
          }
          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;
          if (local_40[0][4] == 9) {
            lVar9 = *(long *)(local_40[0] + 2);
            lVar3 = *(long *)(local_40[0] + 6);
            puVar8 = *(ulong **)(lVar9 + 0x10);
            if (lVar3 != 0) {
              lVar9 = 0;
              do {
                if ((char)local_40[0][10] == '\0') {
LAB_002473e0:
                  uVar4 = puVar8[1];
                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |
                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |
                          (uint)((uVar4 << 0x38) >> 0x20);
                  if (*(uint *)(param_1 + 0x24) <= uVar6) {
                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);
                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);
                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;
                    if (param_1[0x12] == 0) goto LAB_002474f5;
                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);
                    *piVar1 = *piVar1 + 1;
                  }
                }
                else {
                  uVar4 = *puVar8;
                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],
                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |
                                       (uVar4 & 0xff0000000000) >> 0x18 |
                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |
                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                                       uVar4 << 0x38);
                  if (cVar5 != '\0') goto LAB_002473e0;
                }
                lVar9 = lVar9 + 1;
                puVar8 = puVar8 + 2;
              } while (lVar3 != lVar9);
              goto LAB_002472d6;
            }
          }
          else {
            if (local_40[0][4] != 4) {
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            lVar9 = *(long *)(local_40[0] + 2);
            lVar3 = *(long *)(local_40[0] + 6);
            puVar8 = *(ulong **)(lVar9 + 0x10);
            if (lVar3 != 0) {
              lVar9 = 0;
              do {
                if ((char)local_40[0][10] == '\0') {
LAB_00247200:
                  uVar4 = puVar8[1];
                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |
                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |
                          (uint)((uVar4 << 0x38) >> 0x20);
                  if (*(uint *)(param_1 + 0x24) <= uVar6) {
                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);
                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);
                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {
LAB_0024750d:
                    /* WARNING: Subroutine does not return */
                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");
                    }
                    if (param_1[0x12] == 0) {
LAB_002474f5:
                    /* WARNING: Subroutine does not return */
                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");
                    }
                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);
                    *piVar1 = *piVar1 + 1;
                  }
                }
                else {
                  uVar4 = *puVar8;
                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],
                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |
                                       (uVar4 & 0xff0000000000) >> 0x18 |
                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |
                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                                       uVar4 << 0x38);
                  if (cVar5 != '\0') goto LAB_00247200;
                }
                lVar9 = lVar9 + 1;
                puVar8 = puVar8 + 3;
              } while (lVar3 != lVar9);
              goto LAB_002472d6;
            }
          }
LAB_002472df:
          FUN_0017a780(lVar9);
          thunk_FUN_002dac70(lVar9,0x18);
        }
        else {
          if (*(uint *)(param_1 + 7) <= *local_40[0]) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");
          }
          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);
          if (lVar9 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));
          (**(code **)(*plVar2 + 0x178))
                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],
                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),
                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),
                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);
LAB_002472d6:
          lVar9 = *(long *)(local_40[0] + 2);
          if (lVar9 != 0) goto LAB_002472df;
        }
        local_40[0][2] = 0;
        local_40[0][3] = 0;
      }
      local_40[0] = local_40[0] + 0xc;
      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;
      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    } while (lVar9 != 0);
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x48
MOV RAX,qword ptr [0x0043e6b0]
MOV qword ptr [RSP + 0x20],RSI
MOV RBP,qword ptr [RAX + 0x18]
MOV qword ptr [RSP + 0x8],RCX
TEST RBP,RBP
JZ 0x0024753d
MOV RAX,qword ptr [RSP + 0x8]
MOV R15,RDI
MOV R12,RDX
MOV RAX,qword ptr [RAX + 0x18]
MOV qword ptr [RSP + 0x18],RAX
TEST RAX,RAX
JZ 0x0024709e
MOV RAX,qword ptr [RAX + 0x10]
MOV qword ptr [RSP + 0x18],RAX
CMP qword ptr [R12 + 0x378],0x0
JZ 0x002470e2
MOV RAX,qword ptr [R15]
MOV RDI,R15
CALL qword ptr [RAX + 0xe8]
MOV RDX,qword ptr [RAX + 0x8]
SUB RDX,qword ptr [RAX]
SAR RDX,0x3
MOV EBX,EDX
SHL RBX,0x2
MOV RDI,RBX
CALL 0x002d9440
MOV RDX,RBX
XOR ESI,ESI
MOV qword ptr [R15 + 0x90],RAX
MOV RDI,RAX
CALL 0x00147100
MOV RBX,qword ptr [RSP + 0x8]
MOV RAX,qword ptr [RBX]
MOV qword ptr [RSP + 0x38],RAX
CMP RAX,qword ptr [RBX + 0x8]
JZ 0x00247470
MOV RCX,qword ptr [0x0043e6b0]
MOV RDX,qword ptr [RCX + 0x10]
TEST RDX,RDX
JZ 0x0024732d
LEA RBX,[RSP + 0x38]
MOV qword ptr [RSP + 0x28],RBX
NOP word ptr [RAX + RAX*0x1]
CMP byte ptr [RDX + 0x2809],0x0
JNZ 0x00247133
MOV ESI,dword ptr [RDX + 0x9050]
TEST ESI,ESI
JZ 0x0024713e
CMP qword ptr [RAX + 0x20],0x0
JZ 0x002473b0
CMP byte ptr [RDX + 0x5051],0x0
JNZ 0x00247258
CMP byte ptr [RAX + 0x29],0x0
JZ 0x0024719b
MOV R9D,dword ptr [RAX + 0x10]
MOV R8D,dword ptr [RAX + 0x4]
MOV RCX,R15
MOV RDI,RBP
MOV EDX,dword ptr [R15 + 0x120]
MOV R11,qword ptr [RBP]
PUSH qword ptr [RSP + 0x18]
PUSH RDX
MOVZX EDX,byte ptr [RAX + 0x28]
PUSH RDX
MOV RDX,R12
PUSH qword ptr [RAX + 0x20]
PUSH qword ptr [RAX + 0x18]
MOV RAX,qword ptr [RAX + 0x8]
PUSH qword ptr [RAX + 0x10]
MOV RSI,qword ptr [RSP + 0x50]
CALL qword ptr [R11 + 0x168]
MOV RCX,qword ptr [0x0043e6b0]
ADD RSP,0x30
MOV RAX,qword ptr [RCX + 0x10]
TEST RAX,RAX
JZ 0x0024732d
CMP byte ptr [RAX + 0x4ec1],0x0
JNZ 0x00247390
CMP qword ptr [R12 + 0x378],0x0
MOV RAX,qword ptr [RSP + 0x38]
JZ 0x002472d6
MOV EDX,dword ptr [RAX + 0x10]
CMP EDX,0x9
JZ 0x002473c0
CMP EDX,0x4
JNZ 0x00247525
MOV R14,qword ptr [RAX + 0x8]
MOV RBX,qword ptr [RAX + 0x18]
MOV R13,qword ptr [R14 + 0x10]
TEST RBX,RBX
JZ 0x002472df
XOR R14D,R14D
JMP 0x00247230
MOV RAX,qword ptr [R13 + 0x8]
MOV EDX,dword ptr [R15 + 0x120]
BSWAP RAX
SHR RAX,0x20
CMP EAX,EDX
JNC 0x00247348
ADD R14,0x1
ADD R13,0x18
MOV RAX,qword ptr [RSP + 0x38]
CMP RBX,R14
JZ 0x002472d6
CMP byte ptr [RAX + 0x28],0x0
JZ 0x00247200
MOV RCX,qword ptr [R13]
MOV EDX,dword ptr [RAX + 0x4]
MOV RSI,R15
MOV RDI,qword ptr [RAX + 0x20]
BSWAP RCX
CALL 0x001fbc30
TEST AL,AL
JNZ 0x00247200
JMP 0x0024721a
MOV EDX,dword ptr [RAX]
CMP EDX,dword ptr [R15 + 0x38]
JNC 0x002474dd
MOV RCX,qword ptr [R15 + 0x68]
MOV RCX,qword ptr [RCX]
MOV RBX,qword ptr [RCX + RDX*0x8]
TEST RBX,RBX
JZ 0x002474c5
MOV RSI,qword ptr [RAX + 0x18]
MOV RDI,RBX
CALL 0x00245b50
MOV RAX,qword ptr [RSP + 0x38]
MOV RCX,R15
MOV RDI,RBP
MOV EDX,dword ptr [R15 + 0x120]
SUB RSP,0x8
MOV R11,qword ptr [RBP]
MOV R9D,dword ptr [RAX + 0x10]
MOV R8D,dword ptr [RAX + 0x4]
PUSH RBX
PUSH qword ptr [RSP + 0x28]
PUSH RDX
MOVZX EDX,byte ptr [RAX + 0x28]
PUSH RDX
MOV RDX,R12
PUSH qword ptr [RAX + 0x20]
PUSH qword ptr [RAX + 0x18]
MOV RAX,qword ptr [RAX + 0x8]
PUSH qword ptr [RAX + 0x10]
MOV RSI,qword ptr [RSP + 0x60]
CALL qword ptr [R11 + 0x178]
MOV RAX,qword ptr [RSP + 0x78]
ADD RSP,0x40
MOV R14,qword ptr [RAX + 0x8]
TEST R14,R14
JZ 0x002472f9
MOV RDI,R14
CALL 0x0017a780
MOV ESI,0x18
MOV RDI,R14
CALL 0x002dac60
MOV RAX,qword ptr [RSP + 0x38]
MOV qword ptr [RAX + 0x8],0x0
MOV RSI,qword ptr [RSP + 0x8]
ADD RAX,0x30
MOV qword ptr [RSP + 0x38],RAX
CMP qword ptr [RSI + 0x8],RAX
JZ 0x00247470
MOV RCX,qword ptr [0x0043e6b0]
MOV RDX,qword ptr [RCX + 0x10]
TEST RDX,RDX
JNZ 0x00247120
LEA RDX,[0x384078]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
SUB EAX,EDX
MOV RDI,R15
MOV dword ptr [RSP + 0x10],EAX
MOV RAX,qword ptr [R15]
CALL qword ptr [RAX + 0xe8]
MOV EDX,dword ptr [RSP + 0x10]
MOV RCX,qword ptr [RAX + 0x8]
SUB RCX,qword ptr [RAX]
SAR RCX,0x3
CMP EDX,ECX
JNC 0x0024750d
MOV RCX,qword ptr [R15 + 0x90]
TEST RCX,RCX
JZ 0x002474f5
MOV EAX,EDX
ADD dword ptr [RCX + RAX*0x4],0x1
JMP 0x0024721a
MOV R8,qword ptr [RSP + 0x28]
MOV RCX,qword ptr [RSP + 0x18]
MOV RDX,R12
MOV RDI,R15
MOV RSI,qword ptr [RSP + 0x20]
CALL 0x00246f50
JMP 0x002471b5
MOV RAX,qword ptr [RSP + 0x38]
JMP 0x00247301
MOV R14,qword ptr [RAX + 0x8]
MOV RSI,qword ptr [RAX + 0x18]
MOV RBX,qword ptr [R14 + 0x10]
MOV qword ptr [RSP + 0x10],RSI
TEST RSI,RSI
JZ 0x002472df
XOR R13D,R13D
JMP 0x0024740e
MOV RAX,qword ptr [RBX + 0x8]
MOV EDX,dword ptr [R15 + 0x120]
BSWAP RAX
SHR RAX,0x20
CMP EAX,EDX
JNC 0x00247430
ADD R13,0x1
ADD RBX,0x10
MOV RAX,qword ptr [RSP + 0x38]
CMP qword ptr [RSP + 0x10],R13
JZ 0x002472d6
CMP byte ptr [RAX + 0x28],0x0
JZ 0x002473e0
MOV RCX,qword ptr [RBX]
MOV EDX,dword ptr [RAX + 0x4]
MOV RSI,R15
MOV RDI,qword ptr [RAX + 0x20]
BSWAP RCX
CALL 0x001fbc30
TEST AL,AL
JNZ 0x002473e0
JMP 0x002473f6
MOV R14D,EAX
MOV RAX,qword ptr [R15]
MOV RDI,R15
SUB R14D,EDX
CALL qword ptr [RAX + 0xe8]
MOV RCX,qword ptr [RAX + 0x8]
SUB RCX,qword ptr [RAX]
SAR RCX,0x3
CMP R14D,ECX
JNC 0x0024750d
MOV RCX,qword ptr [R15 + 0x90]
TEST RCX,RCX
JZ 0x002474f5
MOV EAX,R14D
ADD dword ptr [RCX + RAX*0x4],0x1
JMP 0x002473f6
CMP qword ptr [R12 + 0x378],0x0
JZ 0x0024748b
MOV EDX,0x1
MOV RSI,R12
MOV RDI,R15
CALL 0x001bd780
MOV R14,qword ptr [RSP + 0x8]
MOV RBX,qword ptr [R14 + 0x18]
TEST RBX,RBX
JZ 0x002474b6
MOV RDI,RBX
CALL 0x0017a780
MOV ESI,0x18
MOV RDI,RBX
CALL 0x002dac60
MOV qword ptr [R14 + 0x18],0x0
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA RDX,[0x383e88]
MOV ESI,0x1dc
LEA RDI,[0x38329c]
CALL 0x0017c650
LEA RDX,[0x383f40]
MOV ESI,0x549
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x383f60]
MOV ESI,0x5f4
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x383f60]
MOV ESI,0x5f3
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x383e50]
MOV ESI,0x222
LEA RDI,[0x38329c]
CALL 0x0017c650
LEA RDX,[0x383fc8]
MOV ESI,0x73
LEA RDI,[0x3726d0]
CALL 0x0017c650
(translation_unit "void FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)\n\n{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)\n\n{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)" identifier (parameter_list "(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "ulong *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_60;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *local_40 [2];" type_identifier (pointer_declarator "*local_40 [2]" * (array_declarator "local_40 [2]" identifier [ number_literal ])) ;) (expression_statement "plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);" (assignment_expression "plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar2 == (long *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }" if (parenthesized_expression "(plVar2 == (long *)0x0)" ( (binary_expression "plVar2 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "local_60 = param_4[3];" (assignment_expression "local_60 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }" if (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) (compound_statement "{\n    local_60 = *(long *)(local_60 + 0x10);\n  }" { (expression_statement "local_60 = *(long *)(local_60 + 0x10);" (assignment_expression "local_60 = *(long *)(local_60 + 0x10)" identifier = (pointer_expression "*(long *)(local_60 + 0x10)" * (cast_expression "(long *)(local_60 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 0x10)" ( (binary_expression "local_60 + 0x10" identifier + number_literal) ))))) ;) })) (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }" if (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" ( (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }" { (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" identifier = (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" ( (pointer_expression "**(code **)(*param_1 + 0xe8)" * (pointer_expression "*(code **)(*param_1 + 0xe8)" * (cast_expression "(code **)(*param_1 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xe8)" ( (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "__n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;" (assignment_expression "__n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2" identifier = (binary_expression "(plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2" (parenthesized_expression "(plVar7[1] - *plVar7 >> 3 & 0xffffffffU)" ( (binary_expression "plVar7[1] - *plVar7 >> 3 & 0xffffffffU" (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" identifier [ number_literal ]) - (pointer_expression "*plVar7" * identifier)) >> number_literal) & number_literal) )) << number_literal)) ;) (expression_statement "__s = (void *)thunk_FUN_002d94a0(__n);" (assignment_expression "__s = (void *)thunk_FUN_002d94a0(__n)" identifier = (cast_expression "(void *)thunk_FUN_002d94a0(__n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_002d94a0(__n)" identifier (argument_list "(__n)" ( identifier ))))) ;) (expression_statement "param_1[0x12] = (long)__s;" (assignment_expression "param_1[0x12] = (long)__s" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "memset(__s,0,__n);" (call_expression "memset(__s,0,__n)" identifier (argument_list "(__s,0,__n)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "local_40[0] = (uint *)*param_4;" (assignment_expression "local_40[0] = (uint *)*param_4" (subscript_expression "local_40[0]" identifier [ number_literal ]) = (cast_expression "(uint *)*param_4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(local_40[0] == (uint *)param_4[1])" ( (binary_expression "local_40[0] == (uint *)param_4[1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) == (cast_expression "(uint *)param_4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }" { (labeled_statement "LAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }" statement_identifier : (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }" if (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" ( (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_001bd780(param_1,param_3,1);\n    }" { (expression_statement "FUN_001bd780(param_1,param_3,1);" (call_expression "FUN_001bd780(param_1,param_3,1)" identifier (argument_list "(param_1,param_3,1)" ( identifier , identifier , number_literal ))) ;) }))) (expression_statement "lVar9 = param_4[3];" (assignment_expression "lVar9 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }" if (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }" { (expression_statement "FUN_0017a780(lVar9);" (call_expression "FUN_0017a780(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac70(lVar9,0x18);" (call_expression "thunk_FUN_002dac70(lVar9,0x18)" identifier (argument_list "(lVar9,0x18)" ( identifier , number_literal ))) ;) (expression_statement "param_4[3] = 0;" (assignment_expression "param_4[3] = 0" (subscript_expression "param_4[3]" identifier [ number_literal ]) = number_literal) ;) })) (return_statement "return;" return ;) })) (expression_statement "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }" if (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }" { (do_statement "do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);" do (compound_statement "{\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    }" { (if_statement "if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }" if (parenthesized_expression "(((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0))" ( (binary_expression "((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)" (parenthesized_expression "((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0))" ( (binary_expression "(*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)" (parenthesized_expression "(*(char *)(lVar9 + 0x2809) == '\0')" ( (binary_expression "*(char *)(lVar9 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar9 + 0x2809)" * (cast_expression "(char *)(lVar9 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x2809)" ( (binary_expression "lVar9 + 0x2809" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(lVar9 + 0x9050) == 0)" ( (binary_expression "*(int *)(lVar9 + 0x9050) == 0" (pointer_expression "*(int *)(lVar9 + 0x9050)" * (cast_expression "(int *)(lVar9 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x9050)" ( (binary_expression "lVar9 + 0x9050" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(*(long *)(local_40[0] + 8) != 0)" ( (binary_expression "*(long *)(local_40[0] + 8) != 0" (pointer_expression "*(long *)(local_40[0] + 8)" * (cast_expression "(long *)(local_40[0] + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }" { (if_statement "if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" if (parenthesized_expression "(*(char *)(lVar9 + 0x5051) == '\0')" ( (binary_expression "*(char *)(lVar9 + 0x5051) == '\0'" (pointer_expression "*(char *)(lVar9 + 0x5051)" * (cast_expression "(char *)(lVar9 + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x5051)" ( (binary_expression "lVar9 + 0x5051" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }" { (if_statement "if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }" if (parenthesized_expression "(*(char *)((long)local_40[0] + 0x29) != '\0')" ( (binary_expression "*(char *)((long)local_40[0] + 0x29) != '\0'" (pointer_expression "*(char *)((long)local_40[0] + 0x29)" * (cast_expression "(char *)((long)local_40[0] + 0x29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_40[0] + 0x29)" ( (binary_expression "(long)local_40[0] + 0x29" (cast_expression "(long)local_40[0]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "local_40[0]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }" { (expression_statement "(**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);" (call_expression "(**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60)" (parenthesized_expression "(**(code **)(*plVar2 + 0x168))" ( (pointer_expression "**(code **)(*plVar2 + 0x168)" * (pointer_expression "*(code **)(*plVar2 + 0x168)" * (cast_expression "(code **)(*plVar2 + 0x168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar2 + 0x168)" ( (binary_expression "*plVar2 + 0x168" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) )) (argument_list "(plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(local_40[0] + 2) + 0x10)" ( (binary_expression "*(long *)(local_40[0] + 2) + 0x10" (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 6)" * (cast_expression "(undefined8 *)(local_40[0] + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) , (cast_expression "(int)param_1[0x24]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x24]" identifier [ number_literal ])) , identifier ))) ;) })) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }" { (expression_statement "FUN_00246f50(param_1,param_2,param_3,local_60,local_40);" (call_expression "FUN_00246f50(param_1,param_2,param_3,local_60,local_40)" identifier (argument_list "(param_1,param_2,param_3,local_60,local_40)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;" if (parenthesized_expression "(*(long *)(param_3 + 0x378) == 0)" ( (binary_expression "*(long *)(param_3 + 0x378) == 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;)) (if_statement "if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" if (parenthesized_expression "(local_40[0][4] == 9)" ( (binary_expression "local_40[0][4] == 9" (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) == number_literal) )) (compound_statement "{\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" { (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" identifier = (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "lVar3 = *(long *)(local_40[0] + 6);" (assignment_expression "lVar3 = *(long *)(local_40[0] + 6)" identifier = (pointer_expression "*(long *)(local_40[0] + 6)" * (cast_expression "(long *)(local_40[0] + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "puVar8 = *(ulong **)(lVar9 + 0x10);" (assignment_expression "puVar8 = *(ulong **)(lVar9 + 0x10)" identifier = (pointer_expression "*(ulong **)(lVar9 + 0x10)" * (cast_expression "(ulong **)(lVar9 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar9 + 0x10)" ( (binary_expression "lVar9 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" if (parenthesized_expression "(lVar3 != 0)" ( (binary_expression "lVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" { (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);" do (compound_statement "{\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              }" { (if_statement "if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" if (parenthesized_expression "((char)local_40[0][10] == '\0')" ( (binary_expression "(char)local_40[0][10] == '\0'" (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }" { (labeled_statement "LAB_002473e0:\n                  uVar4 = puVar8[1];" statement_identifier : (expression_statement "uVar4 = puVar8[1];" (assignment_expression "uVar4 = puVar8[1]" identifier = (subscript_expression "puVar8[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);" (assignment_expression "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" identifier = (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff" (call_expression "(uint)(uVar4 >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) & number_literal) | (binary_expression "(uint)(uVar4 >> 8) & 0xff00" (call_expression "(uint)(uVar4 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 8)" ( (binary_expression "uVar4 >> 8" identifier >> number_literal) ))) & number_literal)) | (call_expression "(uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((uVar4 & 0xff00) << 0x28) >> 0x20)" ( (binary_expression "((uVar4 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar4 & 0xff00) << 0x28)" ( (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) | (call_expression "(uint)((uVar4 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 << 0x38) >> 0x20)" ( (binary_expression "(uVar4 << 0x38) >> 0x20" (parenthesized_expression "(uVar4 << 0x38)" ( (binary_expression "uVar4 << 0x38" identifier << number_literal) )) >> number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x24) <= uVar6)" ( (binary_expression "*(uint *)(param_1 + 0x24) <= uVar6" (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" { (expression_statement "uVar6 = uVar6 - *(uint *)(param_1 + 0x24);" (assignment_expression "uVar6 = uVar6 - *(uint *)(param_1 + 0x24)" identifier = (binary_expression "uVar6 - *(uint *)(param_1 + 0x24)" identifier - (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))))) ;) (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" identifier = (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" ( (pointer_expression "**(code **)(*param_1 + 0xe8)" * (pointer_expression "*(code **)(*param_1 + 0xe8)" * (cast_expression "(code **)(*param_1 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xe8)" ( (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;" if (parenthesized_expression "((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6)" ( (binary_expression "(uint)(plVar7[1] - *plVar7 >> 3) <= uVar6" (call_expression "(uint)(plVar7[1] - *plVar7 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(plVar7[1] - *plVar7 >> 3)" ( (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" identifier [ number_literal ]) - (pointer_expression "*plVar7" * identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0024750d;" goto statement_identifier ;)) (if_statement "if (param_1[0x12] == 0) goto LAB_002474f5;" if (parenthesized_expression "(param_1[0x12] == 0)" ( (binary_expression "param_1[0x12] == 0" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_002474f5;" goto statement_identifier ;)) (expression_statement "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);" (assignment_expression "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4)" identifier = (cast_expression "(int *)(param_1[0x12] + (ulong)uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x12] + (ulong)uVar6 * 4)" ( (binary_expression "param_1[0x12] + (ulong)uVar6 * 4" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 4" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "*piVar1 = *piVar1 + 1;" (assignment_expression "*piVar1 = *piVar1 + 1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) })) }) (else_clause "else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" else (compound_statement "{\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" { (expression_statement "uVar4 = *puVar8;" (assignment_expression "uVar4 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);" (assignment_expression "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier = (call_expression "FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier (argument_list "(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" ( (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28" (binary_expression "uVar4 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar4 & 0xff000000000000)" ( (binary_expression "uVar4 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar4 & 0xff0000000000)" ( (binary_expression "uVar4 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00000000) >> 8" (parenthesized_expression "(uVar4 & 0xff00000000)" ( (binary_expression "uVar4 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal)) )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_002473e0;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002473e0;" goto statement_identifier ;)) }))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar8 + 2;" (assignment_expression "puVar8 = puVar8 + 2" identifier = (binary_expression "puVar8 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar3 != lVar9)" ( (binary_expression "lVar3 != lVar9" identifier != identifier) )) ;) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" else (compound_statement "{\n            if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" { (if_statement "if (local_40[0][4] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" if (parenthesized_expression "(local_40[0][4] != 4)" ( (binary_expression "local_40[0][4] != 4" (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" { comment (expression_statement "FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" identifier (argument_list "("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" ( (string_literal ""../../gold/reloc.cc"" " string_content ") , number_literal , (string_literal ""incremental_relocs_scan"" " string_content ") ))) ;) })) (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" identifier = (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "lVar3 = *(long *)(local_40[0] + 6);" (assignment_expression "lVar3 = *(long *)(local_40[0] + 6)" identifier = (pointer_expression "*(long *)(local_40[0] + 6)" * (cast_expression "(long *)(local_40[0] + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "puVar8 = *(ulong **)(lVar9 + 0x10);" (assignment_expression "puVar8 = *(ulong **)(lVar9 + 0x10)" identifier = (pointer_expression "*(ulong **)(lVar9 + 0x10)" * (cast_expression "(ulong **)(lVar9 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar9 + 0x10)" ( (binary_expression "lVar9 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" if (parenthesized_expression "(lVar3 != 0)" ( (binary_expression "lVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" { (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);" do (compound_statement "{\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              }" { (if_statement "if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" if (parenthesized_expression "((char)local_40[0][10] == '\0')" ( (binary_expression "(char)local_40[0][10] == '\0'" (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }" { (labeled_statement "LAB_00247200:\n                  uVar4 = puVar8[1];" statement_identifier : (expression_statement "uVar4 = puVar8[1];" (assignment_expression "uVar4 = puVar8[1]" identifier = (subscript_expression "puVar8[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);" (assignment_expression "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" identifier = (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff" (call_expression "(uint)(uVar4 >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) & number_literal) | (binary_expression "(uint)(uVar4 >> 8) & 0xff00" (call_expression "(uint)(uVar4 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 8)" ( (binary_expression "uVar4 >> 8" identifier >> number_literal) ))) & number_literal)) | (call_expression "(uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((uVar4 & 0xff00) << 0x28) >> 0x20)" ( (binary_expression "((uVar4 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar4 & 0xff00) << 0x28)" ( (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) | (call_expression "(uint)((uVar4 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 << 0x38) >> 0x20)" ( (binary_expression "(uVar4 << 0x38) >> 0x20" (parenthesized_expression "(uVar4 << 0x38)" ( (binary_expression "uVar4 << 0x38" identifier << number_literal) )) >> number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x24) <= uVar6)" ( (binary_expression "*(uint *)(param_1 + 0x24) <= uVar6" (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" { (expression_statement "uVar6 = uVar6 - *(uint *)(param_1 + 0x24);" (assignment_expression "uVar6 = uVar6 - *(uint *)(param_1 + 0x24)" identifier = (binary_expression "uVar6 - *(uint *)(param_1 + 0x24)" identifier - (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))))) ;) (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" identifier = (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" ( (pointer_expression "**(code **)(*param_1 + 0xe8)" * (pointer_expression "*(code **)(*param_1 + 0xe8)" * (cast_expression "(code **)(*param_1 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xe8)" ( (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" if (parenthesized_expression "((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6)" ( (binary_expression "(uint)(plVar7[1] - *plVar7 >> 3) <= uVar6" (call_expression "(uint)(plVar7[1] - *plVar7 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(plVar7[1] - *plVar7 >> 3)" ( (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" identifier [ number_literal ]) - (pointer_expression "*plVar7" * identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" { (labeled_statement "LAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc")" identifier (argument_list "("../../gold/object.h",0x5f3,"count_incremental_reloc")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""count_incremental_reloc"" " string_content ") ))) ;)) })) (if_statement "if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" if (parenthesized_expression "(param_1[0x12] == 0)" ( (binary_expression "param_1[0x12] == 0" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" { (labeled_statement "LAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc")" identifier (argument_list "("../../gold/object.h",0x5f4,"count_incremental_reloc")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""count_incremental_reloc"" " string_content ") ))) ;)) })) (expression_statement "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);" (assignment_expression "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4)" identifier = (cast_expression "(int *)(param_1[0x12] + (ulong)uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x12] + (ulong)uVar6 * 4)" ( (binary_expression "param_1[0x12] + (ulong)uVar6 * 4" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 4" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "*piVar1 = *piVar1 + 1;" (assignment_expression "*piVar1 = *piVar1 + 1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) })) }) (else_clause "else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" else (compound_statement "{\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" { (expression_statement "uVar4 = *puVar8;" (assignment_expression "uVar4 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);" (assignment_expression "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier = (call_expression "FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier (argument_list "(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" ( (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28" (binary_expression "uVar4 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar4 & 0xff000000000000)" ( (binary_expression "uVar4 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar4 & 0xff0000000000)" ( (binary_expression "uVar4 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00000000) >> 8" (parenthesized_expression "(uVar4 & 0xff00000000)" ( (binary_expression "uVar4 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal)) )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_00247200;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00247200;" goto statement_identifier ;)) }))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar8 + 3;" (assignment_expression "puVar8 = puVar8 + 3" identifier = (binary_expression "puVar8 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar3 != lVar9)" ( (binary_expression "lVar3 != lVar9" identifier != identifier) )) ;) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_002472df:\n          FUN_0017a780(lVar9);" statement_identifier : (expression_statement "FUN_0017a780(lVar9);" (call_expression "FUN_0017a780(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;)) (expression_statement "thunk_FUN_002dac70(lVar9,0x18);" (call_expression "thunk_FUN_002dac70(lVar9,0x18)" identifier (argument_list "(lVar9,0x18)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" else (compound_statement "{\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" { (if_statement "if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }" if (parenthesized_expression "(*(uint *)(param_1 + 7) <= *local_40[0])" ( (binary_expression "*(uint *)(param_1 + 7) <= *local_40[0]" (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) <= (pointer_expression "*local_40[0]" * (subscript_expression "local_40[0]" identifier [ number_literal ]))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }" { comment (expression_statement "FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x549,"relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);" (assignment_expression "lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" identifier = (pointer_expression "*(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" * (cast_expression "(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" ( (binary_expression "*(long *)param_1[0xd] + (ulong)*local_40[0] * 8" (pointer_expression "*(long *)param_1[0xd]" * (cast_expression "(long *)param_1[0xd]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) + (binary_expression "(ulong)*local_40[0] * 8" (binary_expression "(ulong)*local_40[0]" (parenthesized_expression "(ulong)" ( identifier )) * (subscript_expression "local_40[0]" identifier [ number_literal ])) * number_literal)) ))))) ;) (if_statement "if (lVar9 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" if (parenthesized_expression "(lVar9 == 0)" ( (binary_expression "lVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" { comment (expression_statement "FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" identifier (argument_list "("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" ( (string_literal ""../../gold/reloc.cc"" " string_content ") , number_literal , (string_literal ""do_scan_relocs"" " string_content ") ))) ;) })) (expression_statement "FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));" (call_expression "FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6))" identifier (argument_list "(lVar9,*(undefined8 *)(local_40[0] + 6))" ( identifier , (pointer_expression "*(undefined8 *)(local_40[0] + 6)" * (cast_expression "(undefined8 *)(local_40[0] + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);" (call_expression "(**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9)" (parenthesized_expression "(**(code **)(*plVar2 + 0x178))" ( (pointer_expression "**(code **)(*plVar2 + 0x178)" * (pointer_expression "*(code **)(*plVar2 + 0x178)" * (cast_expression "(code **)(*plVar2 + 0x178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar2 + 0x178)" ( (binary_expression "*plVar2 + 0x178" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) )) (argument_list "(plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(local_40[0] + 2) + 0x10)" ( (binary_expression "*(long *)(local_40[0] + 2) + 0x10" (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 6)" * (cast_expression "(undefined8 *)(local_40[0] + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) , (cast_expression "(int)param_1[0x24]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x24]" identifier [ number_literal ])) , identifier , identifier ))) ;) (labeled_statement "LAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);" statement_identifier : (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" identifier = (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;)) (if_statement "if (lVar9 != 0) goto LAB_002472df;" if (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002472df;" goto statement_identifier ;)) }))) (expression_statement "local_40[0][2] = 0;" (assignment_expression "local_40[0][2] = 0" (subscript_expression "local_40[0][2]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) = number_literal) ;) (expression_statement "local_40[0][3] = 0;" (assignment_expression "local_40[0][3] = 0" (subscript_expression "local_40[0][3]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) = number_literal) ;) })) (expression_statement "local_40[0] = local_40[0] + 0xc;" (assignment_expression "local_40[0] = local_40[0] + 0xc" (subscript_expression "local_40[0]" identifier [ number_literal ]) = (binary_expression "local_40[0] + 0xc" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;" if (parenthesized_expression "((uint *)param_4[1] == local_40[0])" ( (binary_expression "(uint *)param_4[1] == local_40[0]" (cast_expression "(uint *)param_4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) == (subscript_expression "local_40[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00247470;" goto statement_identifier ;)) (expression_statement "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_scan_relocs(Sized_relobj_file<64,_true> * this, Symbol_table *\n   symtab, Layout * layout, Read_relocs_data * rd) */\n\nvoid __thiscall\ngold::Sized_relobj_file<64,_true>::do_scan_relocs\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)\n\n{\n  Target *pTVar1;\n  size_t sVar2;\n  Relocatable_relocs *this_00;\n  bool bVar3;\n  int iVar4;\n  uint uVar5;\n  undefined4 extraout_var;\n  uint *puVar6;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  General_options *pGVar7;\n  ulong uVar8;\n  ulong *puVar9;\n  Symbol_table *pSVar10;\n  Symbol_table *pSVar11;\n  Symbol_table *pSVar12;\n  size_t sVar13;\n  File_view *pFVar14;\n  File_view *local_60;\n  iterator p;\n  \n  pTVar1 = parameters->target_;\n  if (pTVar1 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = rd->local_symbols;\n  if (local_60 != (File_view *)0x0) {\n    local_60 = (File_view *)local_60->data_;\n  }\n  pSVar10 = symtab;\n  if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])\n                      (this);\n    uVar8 = (((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU) << 2;\n    puVar6 = (uint *)operator_new__(uVar8);\n    pSVar10 = (Symbol_table *)0x0;\n    (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = puVar6;\n    memset(puVar6,0,uVar8);\n  }\n  p._M_current = (rd->relocs).\n                 super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>.\n                 _M_impl._M_start;\n  if (p._M_current ==\n      (rd->relocs).super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>.\n      _M_impl._M_finish) {\nLAB_00247470:\n    iVar4 = (int)pSVar10;\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      iVar4 = (int)layout;\n    }\n    pFVar14 = rd->local_symbols;\n    if (pFVar14 != (File_view *)0x0) {\n      File_view::~File_view(pFVar14,iVar4);\n      operator_delete(pFVar14,0x18);\n      rd->local_symbols = (File_view *)0x0;\n    }\n    return;\n  }\n  pGVar7 = parameters->options_;\n  if (pGVar7 != (General_options *)0x0) {\n    do {\n      if ((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }\n      p._M_current = p._M_current + 1;\n      pSVar10 = (Symbol_table *)rd;\n      if ((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current) goto LAB_00247470;\n      pGVar7 = parameters->options_;\n    } while (pGVar7 != (General_options *)0x0);\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<64,_true>::do_scan_relocs\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)\n\n{\n  Target *pTVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::do_scan_relocs\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)\n\n{\n  Target" identifier > : : (function_declarator "do_scan_relocs\n          (Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)" identifier (parameter_list "(Sized_relobj_file<64,_true> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) , (parameter_declaration "Read_relocs_data *rd" type_identifier (pointer_declarator "*rd" * identifier)) ))) { identifier) (pointer_declarator "*pTVar1" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "Relocatable_relocs *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "undefined4 extraout_var_01;" type_identifier identifier ;) (declaration "General_options *pGVar7;" type_identifier (pointer_declarator "*pGVar7" * identifier) ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "ulong *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "Symbol_table *pSVar10;" type_identifier (pointer_declarator "*pSVar10" * identifier) ;) (declaration "Symbol_table *pSVar11;" type_identifier (pointer_declarator "*pSVar11" * identifier) ;) (declaration "Symbol_table *pSVar12;" type_identifier (pointer_declarator "*pSVar12" * identifier) ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "File_view *pFVar14;" type_identifier (pointer_declarator "*pFVar14" * identifier) ;) (declaration "File_view *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "iterator p;" type_identifier identifier ;) (expression_statement "pTVar1 = parameters->target_;" (assignment_expression "pTVar1 = parameters->target_" identifier = (field_expression "parameters->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar1 == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n  }" if (parenthesized_expression "(pTVar1 == (Target *)0x0)" ( (binary_expression "pTVar1 == (Target *)0x0" identifier == (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "local_60 = rd->local_symbols;" (assignment_expression "local_60 = rd->local_symbols" identifier = (field_expression "rd->local_symbols" identifier -> field_identifier)) ;) (if_statement "if (local_60 != (File_view *)0x0) {\n    local_60 = (File_view *)local_60->data_;\n  }" if (parenthesized_expression "(local_60 != (File_view *)0x0)" ( (binary_expression "local_60 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_60 = (File_view *)local_60->data_;\n  }" { (expression_statement "local_60 = (File_view *)local_60->data_;" (assignment_expression "local_60 = (File_view *)local_60->data_" identifier = (cast_expression "(File_view *)local_60->data_" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_60->data_" identifier -> field_identifier))) ;) })) (expression_statement "pSVar10 = symtab;" (assignment_expression "pSVar10 = symtab" identifier = identifier) ;) (if_statement "if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])\n                      (this);\n    uVar8 = (((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU) << 2;\n    puVar6 = (uint *)operator_new__(uVar8);\n    pSVar10 = (Symbol_table *)0x0;\n    (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = puVar6;\n    memset(puVar6,0,uVar8);\n  }" if (parenthesized_expression "(layout->incremental_inputs_ != (Incremental_inputs *)0x0)" ( (binary_expression "layout->incremental_inputs_ != (Incremental_inputs *)0x0" (field_expression "layout->incremental_inputs_" identifier -> field_identifier) != (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])\n                      (this);\n    uVar8 = (((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU) << 2;\n    puVar6 = (uint *)operator_new__(uVar8);\n    pSVar10 = (Symbol_table *)0x0;\n    (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = puVar6;\n    memset(puVar6,0,uVar8);\n  }" { (expression_statement "iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])\n                      (this);" (assignment_expression "iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])\n                      (this)" identifier = (call_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])\n                      (this)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d]" * (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (expression_statement "uVar8 = (((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU) << 2;" (assignment_expression "uVar8 = (((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU) << 2" identifier = (binary_expression "(((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU) << 2" (parenthesized_expression "(((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU)" ( (binary_expression "((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3\n            & 0xffffffffU" (binary_expression "((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4) >> 3" (binary_expression "((long *)CONCAT44(extraout_var,iVar4))[1] - *(long *)CONCAT44(extraout_var,iVar4)" (subscript_expression "((long *)CONCAT44(extraout_var,iVar4))[1]" (parenthesized_expression "((long *)CONCAT44(extraout_var,iVar4))" ( (cast_expression "(long *)CONCAT44(extraout_var,iVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar4)" identifier (argument_list "(extraout_var,iVar4)" ( identifier , identifier )))) )) [ number_literal ]) - (pointer_expression "*(long *)CONCAT44(extraout_var,iVar4)" * (cast_expression "(long *)CONCAT44(extraout_var,iVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var,iVar4)" identifier (argument_list "(extraout_var,iVar4)" ( identifier , identifier )))))) >> number_literal) & number_literal) )) << number_literal)) ;) (expression_statement "puVar6 = (uint *)operator_new__(uVar8);" (assignment_expression "puVar6 = (uint *)operator_new__(uVar8)" identifier = (cast_expression "(uint *)operator_new__(uVar8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new__(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (expression_statement "pSVar10 = (Symbol_table *)0x0;" (assignment_expression "pSVar10 = (Symbol_table *)0x0" identifier = (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = puVar6;" (assignment_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = puVar6" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "memset(puVar6,0,uVar8);" (call_expression "memset(puVar6,0,uVar8)" identifier (argument_list "(puVar6,0,uVar8)" ( identifier , number_literal , identifier ))) ;) })) (ERROR "p._M_current = (rd->relocs).\n                 super__Vector_base<gold::Section_relocs," (assignment_expression "p._M_current = (rd->relocs).\n                 super__Vector_base<gold" (field_expression "p._M_current" identifier . field_identifier) = (binary_expression "(rd->relocs).\n                 super__Vector_base<gold" (field_expression "(rd->relocs).\n                 super__Vector_base" (parenthesized_expression "(rd->relocs)" ( (field_expression "rd->relocs" identifier -> field_identifier) )) . field_identifier) < identifier)) : : identifier ,) (labeled_statement "_std::allocator<gold::Section_relocs>_>.\n                 _M_impl._M_start;" statement_identifier (ERROR "::allocator<gold:" : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "Section_relocs>_>.\n                 _M_impl._M_start;" (field_expression "Section_relocs>_>.\n                 _M_impl._M_start" (field_expression "Section_relocs>_>.\n                 _M_impl" (binary_expression "Section_relocs>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;)) (if_statement "if (p._M_current ==\n      (rd->relocs).super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>.\n      _M_impl._M_finish) {\nLAB_00247470:\n    iVar4 = (int)pSVar10;\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      iVar4 = (int)layout;\n    }\n    pFVar14 = rd->local_symbols;\n    if (pFVar14 != (File_view *)0x0) {\n      File_view::~File_view(pFVar14,iVar4);\n      operator_delete(pFVar14,0x18);\n      rd->local_symbols = (File_view *)0x0;\n    }\n    return;\n  }" if (parenthesized_expression "(p._M_current ==\n      (rd->relocs).super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>.\n      _M_impl._M_finish)" ( (ERROR "p._M_current ==\n      (rd->relocs).super__Vector_base<gold::Section_relocs,_std::allocator<gold::" (comma_expression "p._M_current ==\n      (rd->relocs).super__Vector_base<gold::Section_relocs,_std" (binary_expression "p._M_current ==\n      (rd->relocs).super__Vector_base<gold" (field_expression "p._M_current" identifier . field_identifier) == (binary_expression "(rd->relocs).super__Vector_base<gold" (field_expression "(rd->relocs).super__Vector_base" (parenthesized_expression "(rd->relocs)" ( (field_expression "rd->relocs" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Section_relocs" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Section_relocs>_>.\n      _M_impl._M_finish" (field_expression "Section_relocs>_>.\n      _M_impl" (binary_expression "Section_relocs>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\nLAB_00247470:\n    iVar4 = (int)pSVar10;\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      iVar4 = (int)layout;\n    }\n    pFVar14 = rd->local_symbols;\n    if (pFVar14 != (File_view *)0x0) {\n      File_view::~File_view(pFVar14,iVar4);\n      operator_delete(pFVar14,0x18);\n      rd->local_symbols = (File_view *)0x0;\n    }\n    return;\n  }" { (labeled_statement "LAB_00247470:\n    iVar4 = (int)pSVar10;" statement_identifier : (expression_statement "iVar4 = (int)pSVar10;" (assignment_expression "iVar4 = (int)pSVar10" identifier = (cast_expression "(int)pSVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      iVar4 = (int)layout;\n    }" if (parenthesized_expression "(layout->incremental_inputs_ != (Incremental_inputs *)0x0)" ( (binary_expression "layout->incremental_inputs_ != (Incremental_inputs *)0x0" (field_expression "layout->incremental_inputs_" identifier -> field_identifier) != (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      iVar4 = (int)layout;\n    }" { (labeled_statement "Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);" statement_identifier : (ERROR ":" :) (expression_statement "finalize_incremental_relocs((Relobj *)this,layout,true);" (call_expression "finalize_incremental_relocs((Relobj *)this,layout,true)" identifier (argument_list "((Relobj *)this,layout,true)" ( (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , true ))) ;)) (expression_statement "iVar4 = (int)layout;" (assignment_expression "iVar4 = (int)layout" identifier = (cast_expression "(int)layout" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) (expression_statement "pFVar14 = rd->local_symbols;" (assignment_expression "pFVar14 = rd->local_symbols" identifier = (field_expression "rd->local_symbols" identifier -> field_identifier)) ;) (if_statement "if (pFVar14 != (File_view *)0x0) {\n      File_view::~File_view(pFVar14,iVar4);\n      operator_delete(pFVar14,0x18);\n      rd->local_symbols = (File_view *)0x0;\n    }" if (parenthesized_expression "(pFVar14 != (File_view *)0x0)" ( (binary_expression "pFVar14 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      File_view::~File_view(pFVar14,iVar4);\n      operator_delete(pFVar14,0x18);\n      rd->local_symbols = (File_view *)0x0;\n    }" { (labeled_statement "File_view::~File_view(pFVar14,iVar4);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar14,iVar4);" (unary_expression "~File_view(pFVar14,iVar4)" ~ (call_expression "File_view(pFVar14,iVar4)" identifier (argument_list "(pFVar14,iVar4)" ( identifier , identifier )))) ;)) (expression_statement "operator_delete(pFVar14,0x18);" (call_expression "operator_delete(pFVar14,0x18)" identifier (argument_list "(pFVar14,0x18)" ( identifier , number_literal ))) ;) (expression_statement "rd->local_symbols = (File_view *)0x0;" (assignment_expression "rd->local_symbols = (File_view *)0x0" (field_expression "rd->local_symbols" identifier -> field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return;" return ;) })) (expression_statement "pGVar7 = parameters->options_;" (assignment_expression "pGVar7 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar7 != (General_options *)0x0) {\n    do {\n      if ((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }\n      p._M_current = p._M_current + 1;\n      pSVar10 = (Symbol_table *)rd;\n      if ((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current) goto LAB_00247470;\n      pGVar7 = parameters->options_;\n    } while (pGVar7 != (General_options *)0x0);\n  }" if (parenthesized_expression "(pGVar7 != (General_options *)0x0)" ( (binary_expression "pGVar7 != (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 ((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }\n      p._M_current = p._M_current + 1;\n      pSVar10 = (Symbol_table *)rd;\n      if ((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current) goto LAB_00247470;\n      pGVar7 = parameters->options_;\n    } while (pGVar7 != (General_options *)0x0);\n  }" { (do_statement "do {\n      if ((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }\n      p._M_current = p._M_current + 1;\n      pSVar10 = (Symbol_table *)rd;\n      if ((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current) goto LAB_00247470;\n      pGVar7 = parameters->options_;\n    } while (pGVar7 != (General_options *)0x0);" do (compound_statement "{\n      if ((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }\n      p._M_current = p._M_current + 1;\n      pSVar10 = (Symbol_table *)rd;\n      if ((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current) goto LAB_00247470;\n      pGVar7 = parameters->options_;\n    }" { (if_statement "if ((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }" if (parenthesized_expression "((((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0))" ( (binary_expression "(((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))\n         || ((p._M_current)->output_section != (Output_section *)0x0)" (parenthesized_expression "(((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE))" ( (binary_expression "((pGVar7->gc_sections_).value == false) &&\n          (pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE)" (parenthesized_expression "((pGVar7->gc_sections_).value == false)" ( (binary_expression "(pGVar7->gc_sections_).value == false" (field_expression "(pGVar7->gc_sections_).value" (parenthesized_expression "(pGVar7->gc_sections_)" ( (field_expression "pGVar7->gc_sections_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "(pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE)" ( (comma_expression "pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_, pGVar7->icf_status_ == ICF_NONE" (assignment_expression "pSVar10 = (Symbol_table *)(ulong)pGVar7->icf_status_" identifier = (cast_expression "(Symbol_table *)(ulong)pGVar7->icf_status_" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)pGVar7->icf_status_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pGVar7->icf_status_" identifier -> field_identifier)))) , (binary_expression "pGVar7->icf_status_ == ICF_NONE" (field_expression "pGVar7->icf_status_" identifier -> field_identifier) == identifier)) ))) )) || (parenthesized_expression "((p._M_current)->output_section != (Output_section *)0x0)" ( (binary_expression "(p._M_current)->output_section != (Output_section *)0x0" (field_expression "(p._M_current)->output_section" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n        if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n      }" { (if_statement "if ((pGVar7->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }\n        else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }" if (parenthesized_expression "((pGVar7->relocatable_).value == false)" ( (binary_expression "(pGVar7->relocatable_).value == false" (field_expression "(pGVar7->relocatable_).value" (parenthesized_expression "(pGVar7->relocatable_)" ( (field_expression "pGVar7->relocatable_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);\n          operator_delete(pFVar14,0x18);\n        }" { (if_statement "if ((p._M_current)->is_data_section_allocated != false) {\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }" if (parenthesized_expression "((p._M_current)->is_data_section_allocated != false)" ( (binary_expression "(p._M_current)->is_data_section_allocated != false" (field_expression "(p._M_current)->is_data_section_allocated" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) != false) )) (compound_statement "{\n            pSVar10 = symtab;\n            (**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);\n          }" { (expression_statement "pSVar10 = symtab;" (assignment_expression "pSVar10 = symtab" identifier = identifier) ;) (expression_statement "(**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60);" (call_expression "(**(code **)(*(long *)pTVar1 + 0x168))\n                      (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60)" (parenthesized_expression "(**(code **)(*(long *)pTVar1 + 0x168))" ( (pointer_expression "**(code **)(*(long *)pTVar1 + 0x168)" * (pointer_expression "*(code **)(*(long *)pTVar1 + 0x168)" * (cast_expression "(code **)(*(long *)pTVar1 + 0x168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pTVar1 + 0x168)" ( (binary_expression "*(long *)pTVar1 + 0x168" (pointer_expression "*(long *)pTVar1" * (cast_expression "(long *)pTVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                       this->local_symbol_count_,local_60)" ( identifier , identifier , identifier , identifier , (field_expression "(p._M_current)->data_shndx" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->sh_type" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->contents->data_" (field_expression "(p._M_current)->contents" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) -> field_identifier) , (field_expression "(p._M_current)->reloc_count" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->output_section" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->needs_special_offset_handling" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "this->local_symbol_count_" identifier -> field_identifier) , identifier ))) ;) })) (if_statement "if (parameters->options_ == (General_options *)0x0) break;" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if ((parameters->options_->emit_relocs_).value != false) {\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }" if (parenthesized_expression "((parameters->options_->emit_relocs_).value != false)" ( (binary_expression "(parameters->options_->emit_relocs_).value != false" (field_expression "(parameters->options_->emit_relocs_).value" (parenthesized_expression "(parameters->options_->emit_relocs_)" ( (field_expression "parameters->options_->emit_relocs_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n            pSVar10 = symtab;\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);\n          }" { (expression_statement "pSVar10 = symtab;" (assignment_expression "pSVar10 = symtab" identifier = identifier) ;) (expression_statement "emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p);" (call_expression "emit_relocs_scan(this,symtab,layout,(uchar *)local_60,&p)" identifier (argument_list "(this,symtab,layout,(uchar *)local_60,&p)" ( identifier , identifier , identifier , (cast_expression "(uchar *)local_60" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&p" & identifier) ))) ;) })) (if_statement "if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_002472d6;" if (parenthesized_expression "(layout->incremental_inputs_ == (Incremental_inputs *)0x0)" ( (binary_expression "layout->incremental_inputs_ == (Incremental_inputs *)0x0" (field_expression "layout->incremental_inputs_" identifier -> field_identifier) == (cast_expression "(Incremental_inputs *)0x0" ( (type_descriptor "Incremental_inputs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;)) (if_statement "if ((p._M_current)->sh_type == 9) {\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }" if (parenthesized_expression "((p._M_current)->sh_type == 9)" ( (binary_expression "(p._M_current)->sh_type == 9" (field_expression "(p._M_current)->sh_type" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) == number_literal) )) (compound_statement "{\n            pFVar14 = (p._M_current)->contents;\n            pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }\n          }" { (expression_statement "pFVar14 = (p._M_current)->contents;" (assignment_expression "pFVar14 = (p._M_current)->contents" identifier = (field_expression "(p._M_current)->contents" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "pSVar11 = (Symbol_table *)(p._M_current)->reloc_count;" (assignment_expression "pSVar11 = (Symbol_table *)(p._M_current)->reloc_count" identifier = (cast_expression "(Symbol_table *)(p._M_current)->reloc_count" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(p._M_current)->reloc_count" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "puVar9 = (ulong *)pFVar14->data_;" (assignment_expression "puVar9 = (ulong *)pFVar14->data_" identifier = (cast_expression "(ulong *)pFVar14->data_" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar14->data_" identifier -> field_identifier))) ;) (if_statement "if (pSVar11 != (Symbol_table *)0x0) {\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }" if (parenthesized_expression "(pSVar11 != (Symbol_table *)0x0)" ( (binary_expression "pSVar11 != (Symbol_table *)0x0" identifier != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pSVar12 = (Symbol_table *)0x0;\n              pSVar10 = pSVar11;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);\n              goto LAB_002472d6;\n            }" { (expression_statement "pSVar12 = (Symbol_table *)0x0;" (assignment_expression "pSVar12 = (Symbol_table *)0x0" identifier = (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar10 = pSVar11;" (assignment_expression "pSVar10 = pSVar11" identifier = identifier) ;) (do_statement "do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              } while (pSVar11 != pSVar12);" do (compound_statement "{\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }\n                pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);\n                puVar9 = puVar9 + 2;\n              }" { (if_statement "if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }" if (parenthesized_expression "((p._M_current)->needs_special_offset_handling == false)" ( (binary_expression "(p._M_current)->needs_special_offset_handling == false" (field_expression "(p._M_current)->needs_special_offset_handling" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) == false) )) (compound_statement "{\nLAB_002473e0:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }" { (labeled_statement "LAB_002473e0:\n                  uVar8 = puVar9[1];" statement_identifier : (expression_statement "uVar8 = puVar9[1];" (assignment_expression "uVar8 = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20)" identifier = (binary_expression "(uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00" (binary_expression "(uint)(uVar8 >> 0x18) & 0xff" (call_expression "(uint)(uVar8 >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ))) & number_literal) | (binary_expression "(uint)(uVar8 >> 8) & 0xff00" (call_expression "(uint)(uVar8 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) ))) & number_literal)) | (call_expression "(uint)(((uVar8 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((uVar8 & 0xff00) << 0x28) >> 0x20)" ( (binary_expression "((uVar8 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar8 & 0xff00) << 0x28)" ( (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) | (call_expression "(uint)((uVar8 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar8 << 0x38) >> 0x20)" ( (binary_expression "(uVar8 << 0x38) >> 0x20" (parenthesized_expression "(uVar8 << 0x38)" ( (binary_expression "uVar8 << 0x38" identifier << number_literal) )) >> number_literal) ))))) ;) (if_statement "if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }" if (parenthesized_expression "(this->local_symbol_count_ <= uVar5)" ( (binary_expression "this->local_symbol_count_ <= uVar5" (field_expression "this->local_symbol_count_" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) goto LAB_002474f5;\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }" { (expression_statement "uVar5 = uVar5 - this->local_symbol_count_;" (assignment_expression "uVar5 = uVar5 - this->local_symbol_count_" identifier = (binary_expression "uVar5 - this->local_symbol_count_" identifier - (field_expression "this->local_symbol_count_" identifier -> field_identifier))) ;) (expression_statement "iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);" (assignment_expression "iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this)" identifier = (call_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d]" * (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (if_statement "if ((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)\n                    goto LAB_0024750d;" if (parenthesized_expression "((uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5)" ( (binary_expression "(uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3) <= uVar5" (call_expression "(uint)(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3)" ( (binary_expression "((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4) >> 3" (binary_expression "((long *)CONCAT44(extraout_var_01,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_01,iVar4)" (subscript_expression "((long *)CONCAT44(extraout_var_01,iVar4))[1]" (parenthesized_expression "((long *)CONCAT44(extraout_var_01,iVar4))" ( (cast_expression "(long *)CONCAT44(extraout_var_01,iVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_01,iVar4)" identifier (argument_list "(extraout_var_01,iVar4)" ( identifier , identifier )))) )) [ number_literal ]) - (pointer_expression "*(long *)CONCAT44(extraout_var_01,iVar4)" * (cast_expression "(long *)CONCAT44(extraout_var_01,iVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_01,iVar4)" identifier (argument_list "(extraout_var_01,iVar4)" ( identifier , identifier )))))) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0024750d;" goto statement_identifier ;)) (expression_statement "puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;" (assignment_expression "puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (puVar6 == (uint *)0x0) goto LAB_002474f5;" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002474f5;" goto statement_identifier ;)) (expression_statement "puVar6 = puVar6 + uVar5;" (assignment_expression "puVar6 = puVar6 + uVar5" identifier = (binary_expression "puVar6 + uVar5" identifier + identifier)) ;) (expression_statement "*puVar6 = *puVar6 + 1;" (assignment_expression "*puVar6 = *puVar6 + 1" (pointer_expression "*puVar6" * identifier) = (binary_expression "*puVar6 + 1" (pointer_expression "*puVar6" * identifier) + number_literal)) ;) })) }) (else_clause "else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }" else (compound_statement "{\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_002473e0;\n                }" { (expression_statement "uVar8 = *puVar9;" (assignment_expression "uVar8 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "pSVar10 = (Symbol_table *)this;" (assignment_expression "pSVar10 = (Symbol_table *)this" identifier = (cast_expression "(Symbol_table *)this" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "bVar3 = Output_section::" (assignment_expression "bVar3 = Output_section" identifier = identifier) : :) (expression_statement "is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);" (call_expression "is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38)" identifier (argument_list "((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38)" ( (field_expression "(p._M_current)->output_section" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "(p._M_current)->data_shndx" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28" (binary_expression "uVar8 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar8 & 0xff000000000000)" ( (binary_expression "uVar8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xff0000000000)" ( (binary_expression "uVar8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00000000) >> 8" (parenthesized_expression "(uVar8 & 0xff00000000)" ( (binary_expression "uVar8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff000000) << 8" (parenthesized_expression "(uVar8 & 0xff000000)" ( (binary_expression "uVar8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff0000) << 0x18" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x38" identifier << number_literal)) ))) ;) (if_statement "if (bVar3) goto LAB_002473e0;" if (parenthesized_expression "(bVar3)" ( identifier )) (goto_statement "goto LAB_002473e0;" goto statement_identifier ;)) }))) (expression_statement "pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1);" (assignment_expression "pSVar12 = (Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1)" identifier = (cast_expression "(Symbol_table *)\n                          ((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1)" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1)" ( (binary_expression "(long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start + 1" (cast_expression "(long)&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start" & (field_expression "(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl._M_start" (field_expression "(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )._M_impl" (parenthesized_expression "(((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>\n                                  )" ( (ERROR "((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std::allocator<gold::" (comma_expression "((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold::Section_relocs,_std" (binary_expression "((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base<gold" (field_expression "((Relocs_list *)&pSVar12->saw_undefined_)->\n                                  super__Vector_base" (parenthesized_expression "((Relocs_list *)&pSVar12->saw_undefined_)" ( (cast_expression "(Relocs_list *)&pSVar12->saw_undefined_" ( (type_descriptor "Relocs_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar12->saw_undefined_" & (field_expression "pSVar12->saw_undefined_" identifier -> field_identifier))) )) -> field_identifier) < identifier) (ERROR "::Section_relocs" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Section_relocs>_>" (binary_expression "Section_relocs>_" identifier > identifier) > identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) ;) (expression_statement "puVar9 = puVar9 + 2;" (assignment_expression "puVar9 = puVar9 + 2" identifier = (binary_expression "puVar9 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(pSVar11 != pSVar12)" ( (binary_expression "pSVar11 != pSVar12" identifier != identifier) )) ;) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }" else (compound_statement "{\n            if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            pFVar14 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar9 = (ulong *)pFVar14->data_;\n            pSVar11 = pSVar10;\n            if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }\n          }" { (if_statement "if ((p._M_current)->sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" if (parenthesized_expression "((p._M_current)->sh_type != 4)" ( (binary_expression "(p._M_current)->sh_type != 4" (field_expression "(p._M_current)->sh_type" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" identifier (argument_list "("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" ( (string_literal ""../../gold/reloc.cc"" " string_content ") , number_literal , (string_literal ""incremental_relocs_scan"" " string_content ") ))) ;) })) (expression_statement "pFVar14 = (p._M_current)->contents;" (assignment_expression "pFVar14 = (p._M_current)->contents" identifier = (field_expression "(p._M_current)->contents" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "sVar2 = (p._M_current)->reloc_count;" (assignment_expression "sVar2 = (p._M_current)->reloc_count" identifier = (field_expression "(p._M_current)->reloc_count" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "puVar9 = (ulong *)pFVar14->data_;" (assignment_expression "puVar9 = (ulong *)pFVar14->data_" identifier = (cast_expression "(ulong *)pFVar14->data_" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar14->data_" identifier -> field_identifier))) ;) (expression_statement "pSVar11 = pSVar10;" (assignment_expression "pSVar11 = pSVar10" identifier = identifier) ;) (if_statement "if (sVar2 != 0) {\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }" if (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              sVar13 = 0;\n              do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);\n              goto LAB_002472d6;\n            }" { (expression_statement "sVar13 = 0;" (assignment_expression "sVar13 = 0" identifier = number_literal) ;) (do_statement "do {\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              } while (sVar2 != sVar13);" do (compound_statement "{\n                if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }\n                sVar13 = sVar13 + 1;\n                puVar9 = puVar9 + 3;\n              }" { (if_statement "if ((p._M_current)->needs_special_offset_handling == false) {\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }\n                else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }" if (parenthesized_expression "((p._M_current)->needs_special_offset_handling == false)" ( (binary_expression "(p._M_current)->needs_special_offset_handling == false" (field_expression "(p._M_current)->needs_special_offset_handling" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) == false) )) (compound_statement "{\nLAB_00247200:\n                  uVar8 = puVar9[1];\n                  uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);\n                  if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }\n                }" { (labeled_statement "LAB_00247200:\n                  uVar8 = puVar9[1];" statement_identifier : (expression_statement "uVar8 = puVar9[1];" (assignment_expression "uVar8 = puVar9[1]" identifier = (subscript_expression "puVar9[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20);" (assignment_expression "uVar5 = (uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20)" identifier = (binary_expression "(uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar8 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00 |\n                          (uint)(((uVar8 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar8 >> 0x18) & 0xff | (uint)(uVar8 >> 8) & 0xff00" (binary_expression "(uint)(uVar8 >> 0x18) & 0xff" (call_expression "(uint)(uVar8 >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) ))) & number_literal) | (binary_expression "(uint)(uVar8 >> 8) & 0xff00" (call_expression "(uint)(uVar8 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 >> 8)" ( (binary_expression "uVar8 >> 8" identifier >> number_literal) ))) & number_literal)) | (call_expression "(uint)(((uVar8 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((uVar8 & 0xff00) << 0x28) >> 0x20)" ( (binary_expression "((uVar8 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar8 & 0xff00) << 0x28)" ( (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) | (call_expression "(uint)((uVar8 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar8 << 0x38) >> 0x20)" ( (binary_expression "(uVar8 << 0x38) >> 0x20" (parenthesized_expression "(uVar8 << 0x38)" ( (binary_expression "uVar8 << 0x38" identifier << number_literal) )) >> number_literal) ))))) ;) (if_statement "if (this->local_symbol_count_ <= uVar5) {\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }" if (parenthesized_expression "(this->local_symbol_count_ <= uVar5)" ( (binary_expression "this->local_symbol_count_ <= uVar5" (field_expression "this->local_symbol_count_" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n                    uVar5 = uVar5 - this->local_symbol_count_;\n                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);\n                    if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;\n                    if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    puVar6 = puVar6 + uVar5;\n                    *puVar6 = *puVar6 + 1;\n                  }" { (expression_statement "uVar5 = uVar5 - this->local_symbol_count_;" (assignment_expression "uVar5 = uVar5 - this->local_symbol_count_" identifier = (binary_expression "uVar5 - this->local_symbol_count_" identifier - (field_expression "this->local_symbol_count_" identifier -> field_identifier))) ;) (expression_statement "iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this);" (assignment_expression "iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this)" identifier = (call_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d]" * (subscript_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object[0x1d]" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.\n                              _vptr_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier )))) ;) (if_statement "if ((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5) {\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" if (parenthesized_expression "((uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5)" ( (binary_expression "(uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3) <= uVar5" (call_expression "(uint)(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3)" ( (binary_expression "((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4) >> 3" (binary_expression "((long *)CONCAT44(extraout_var_00,iVar4))[1] -\n                               *(long *)CONCAT44(extraout_var_00,iVar4)" (subscript_expression "((long *)CONCAT44(extraout_var_00,iVar4))[1]" (parenthesized_expression "((long *)CONCAT44(extraout_var_00,iVar4))" ( (cast_expression "(long *)CONCAT44(extraout_var_00,iVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_00,iVar4)" identifier (argument_list "(extraout_var_00,iVar4)" ( identifier , identifier )))) )) [ number_literal ]) - (pointer_expression "*(long *)CONCAT44(extraout_var_00,iVar4)" * (cast_expression "(long *)CONCAT44(extraout_var_00,iVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_00,iVar4)" identifier (argument_list "(extraout_var_00,iVar4)" ( identifier , identifier )))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" { (labeled_statement "LAB_0024750d:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc")" identifier (argument_list "("../../gold/object.h",0x5f3,"count_incremental_reloc")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""count_incremental_reloc"" " string_content ") ))) ;)) })) (expression_statement "puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;" (assignment_expression "puVar6 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_" identifier = (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (puVar6 == (uint *)0x0) {\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" if (parenthesized_expression "(puVar6 == (uint *)0x0)" ( (binary_expression "puVar6 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" { (labeled_statement "LAB_002474f5:\n                    /* WARNING: Subroutine does not return */\n                      do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc")" identifier (argument_list "("../../gold/object.h",0x5f4,"count_incremental_reloc")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""count_incremental_reloc"" " string_content ") ))) ;)) })) (expression_statement "puVar6 = puVar6 + uVar5;" (assignment_expression "puVar6 = puVar6 + uVar5" identifier = (binary_expression "puVar6 + uVar5" identifier + identifier)) ;) (expression_statement "*puVar6 = *puVar6 + 1;" (assignment_expression "*puVar6 = *puVar6 + 1" (pointer_expression "*puVar6" * identifier) = (binary_expression "*puVar6 + 1" (pointer_expression "*puVar6" * identifier) + number_literal)) ;) })) }) (else_clause "else {\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }" else (compound_statement "{\n                  uVar8 = *puVar9;\n                  pSVar10 = (Symbol_table *)this;\n                  bVar3 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);\n                  if (bVar3) goto LAB_00247200;\n                }" { (expression_statement "uVar8 = *puVar9;" (assignment_expression "uVar8 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (expression_statement "pSVar10 = (Symbol_table *)this;" (assignment_expression "pSVar10 = (Symbol_table *)this" identifier = (cast_expression "(Symbol_table *)this" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "bVar3 = Output_section::" (assignment_expression "bVar3 = Output_section" identifier = identifier) : :) (expression_statement "is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38);" (call_expression "is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38)" identifier (argument_list "((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,\n                                     uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38)" ( (field_expression "(p._M_current)->output_section" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (cast_expression "(Relobj *)this" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "(p._M_current)->data_shndx" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                                     (uVar8 & 0xff00) << 0x28" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8\n                                     | (uVar8 & 0xff000000) << 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                                     (uVar8 & 0xff0000000000) >> 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28" (binary_expression "uVar8 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar8 & 0xff000000000000)" ( (binary_expression "uVar8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xff0000000000)" ( (binary_expression "uVar8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00000000) >> 8" (parenthesized_expression "(uVar8 & 0xff00000000)" ( (binary_expression "uVar8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff000000) << 8" (parenthesized_expression "(uVar8 & 0xff000000)" ( (binary_expression "uVar8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff0000) << 0x18" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x38" identifier << number_literal)) ))) ;) (if_statement "if (bVar3) goto LAB_00247200;" if (parenthesized_expression "(bVar3)" ( identifier )) (goto_statement "goto LAB_00247200;" goto statement_identifier ;)) }))) (expression_statement "sVar13 = sVar13 + 1;" (assignment_expression "sVar13 = sVar13 + 1" identifier = (binary_expression "sVar13 + 1" identifier + number_literal)) ;) (expression_statement "puVar9 = puVar9 + 3;" (assignment_expression "puVar9 = puVar9 + 3" identifier = (binary_expression "puVar9 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar2 != sVar13)" ( (binary_expression "sVar2 != sVar13" identifier != identifier) )) ;) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_002472df:\n          File_view::~File_view(pFVar14,(int)pSVar11);" statement_identifier : (labeled_statement "File_view::~File_view(pFVar14,(int)pSVar11);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar14,(int)pSVar11);" (unary_expression "~File_view(pFVar14,(int)pSVar11)" ~ (call_expression "File_view(pFVar14,(int)pSVar11)" identifier (argument_list "(pFVar14,(int)pSVar11)" ( identifier , (cast_expression "(int)pSVar11" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;))) (expression_statement "operator_delete(pFVar14,0x18);" (call_expression "operator_delete(pFVar14,0x18)" identifier (argument_list "(pFVar14,0x18)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }" else (compound_statement "{\n          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];\n          if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);\n          pSVar10 = symtab;\n          (**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);\nLAB_002472d6:\n          pFVar14 = (p._M_current)->contents;\n          pSVar11 = pSVar10;\n          if (pFVar14 != (File_view *)0x0) goto LAB_002472df;\n        }" { (if_statement "if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }" if (parenthesized_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx)" ( (binary_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) <= (field_expression "(p._M_current)->reloc_shndx" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "do_gold_unreachable("../../gold/object.h",0x549,"relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x549,"relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx];" (assignment_expression "this_00 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx]" identifier = (subscript_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start[(p._M_current)->reloc_shndx]" (field_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl._M_start" (field_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )._M_impl" (parenthesized_expression "(((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>\n                    )" ( (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_>" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std" (binary_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold" (field_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base" (parenthesized_expression "((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)" ( (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_" (field_expression "(this->super_Sized_relobj<64,_true>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<64,_true>)" ( (comma_expression "this->super_Sized_relobj<64,_true" (binary_expression "this->super_Sized_relobj<64" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) )) -> field_identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) [ (field_expression "(p._M_current)->reloc_shndx" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) ])) ;) (if_statement "if (this_00 == (Relocatable_relocs *)0x0) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" if (parenthesized_expression "(this_00 == (Relocatable_relocs *)0x0)" ( (binary_expression "this_00 == (Relocatable_relocs *)0x0" identifier == (cast_expression "(Relocatable_relocs *)0x0" ( (type_descriptor "Relocatable_relocs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "do_gold_unreachable("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" identifier (argument_list "("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" ( (string_literal ""../../gold/reloc.cc"" " string_content ") , number_literal , (string_literal ""do_scan_relocs"" " string_content ") ))) ;) })) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);" statement_identifier (ERROR "::vector<unsigned_char,_std::allocator<unsigned_char>_>:" : : (comma_expression "vector<unsigned_char,_std" (binary_expression "vector<unsigned_char" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_char>_" (binary_expression "allocator<unsigned_char" identifier < identifier) > identifier) > :) : (expression_statement "reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count);" (call_expression "reserve\n                    (&this_00->reloc_strategies_,(p._M_current)->reloc_count)" identifier (argument_list "(&this_00->reloc_strategies_,(p._M_current)->reloc_count)" ( (pointer_expression "&this_00->reloc_strategies_" & (field_expression "this_00->reloc_strategies_" identifier -> field_identifier)) , (field_expression "(p._M_current)->reloc_count" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) ))) ;)) (expression_statement "pSVar10 = symtab;" (assignment_expression "pSVar10 = symtab" identifier = identifier) ;) (expression_statement "(**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00);" (call_expression "(**(code **)(*(long *)pTVar1 + 0x178))\n                    (pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00)" (parenthesized_expression "(**(code **)(*(long *)pTVar1 + 0x178))" ( (pointer_expression "**(code **)(*(long *)pTVar1 + 0x178)" * (pointer_expression "*(code **)(*(long *)pTVar1 + 0x178)" * (cast_expression "(code **)(*(long *)pTVar1 + 0x178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pTVar1 + 0x178)" ( (binary_expression "*(long *)pTVar1 + 0x178" (pointer_expression "*(long *)pTVar1" * (cast_expression "(long *)pTVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pTVar1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,\n                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,\n                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,\n                     this->local_symbol_count_,local_60,this_00)" ( identifier , identifier , identifier , identifier , (field_expression "(p._M_current)->data_shndx" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->sh_type" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->contents->data_" (field_expression "(p._M_current)->contents" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) -> field_identifier) , (field_expression "(p._M_current)->reloc_count" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->output_section" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "(p._M_current)->needs_special_offset_handling" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) , (field_expression "this->local_symbol_count_" identifier -> field_identifier) , identifier , identifier ))) ;) (labeled_statement "LAB_002472d6:\n          pFVar14 = (p._M_current)->contents;" statement_identifier : (expression_statement "pFVar14 = (p._M_current)->contents;" (assignment_expression "pFVar14 = (p._M_current)->contents" identifier = (field_expression "(p._M_current)->contents" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier)) ;)) (expression_statement "pSVar11 = pSVar10;" (assignment_expression "pSVar11 = pSVar10" identifier = identifier) ;) (if_statement "if (pFVar14 != (File_view *)0x0) goto LAB_002472df;" if (parenthesized_expression "(pFVar14 != (File_view *)0x0)" ( (binary_expression "pFVar14 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002472df;" goto statement_identifier ;)) }))) (expression_statement "(p._M_current)->contents = (File_view *)0x0;" (assignment_expression "(p._M_current)->contents = (File_view *)0x0" (field_expression "(p._M_current)->contents" (parenthesized_expression "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "p._M_current = p._M_current + 1;" (assignment_expression "p._M_current = p._M_current + 1" (field_expression "p._M_current" identifier . field_identifier) = (binary_expression "p._M_current + 1" (field_expression "p._M_current" identifier . field_identifier) + number_literal)) ;) (expression_statement "pSVar10 = (Symbol_table *)rd;" (assignment_expression "pSVar10 = (Symbol_table *)rd" identifier = (cast_expression "(Symbol_table *)rd" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current) goto LAB_00247470;" if (parenthesized_expression "((rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.\n          _M_finish == p._M_current)" ( (ERROR "(rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std::allocator<gold::" (comma_expression "(rd->relocs).\n          super__Vector_base<gold::Section_relocs,_std" (binary_expression "(rd->relocs).\n          super__Vector_base<gold" (field_expression "(rd->relocs).\n          super__Vector_base" (parenthesized_expression "(rd->relocs)" ( (field_expression "rd->relocs" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Section_relocs" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Section_relocs>_>._M_impl.\n          _M_finish == p._M_current" (field_expression "Section_relocs>_>._M_impl.\n          _M_finish" (field_expression "Section_relocs>_>._M_impl" (binary_expression "Section_relocs>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (field_expression "p._M_current" identifier . field_identifier)) )) (goto_statement "goto LAB_00247470;" goto statement_identifier ;)) (expression_statement "pGVar7 = parameters->options_;" (assignment_expression "pGVar7 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pGVar7 != (General_options *)0x0)" ( (binary_expression "pGVar7 != (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 ") ))) ;) (ERROR "}" }))
(translation_unit "void FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)\n\n{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)\n\n{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)" identifier (parameter_list "(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long param_3" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "long *plVar2;" (sized_type_specifier "long" long) (pointer_declarator "*plVar2" * identifier) ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "ulong *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_60;" (sized_type_specifier "long" long) identifier ;) (declaration "uint *local_40 [2];" type_identifier (pointer_declarator "*local_40 [2]" * (array_declarator "local_40 [2]" identifier [ number_literal ])) ;) (expression_statement "plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);" (assignment_expression "plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }" if (parenthesized_expression "(plVar2 == (long *)0x0)" ( (binary_expression "plVar2 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x73,"sized_target")" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") ))) ;) })) (expression_statement "local_60 = param_4[3];" (assignment_expression "local_60 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }" if (parenthesized_expression "(local_60 != 0)" ( (binary_expression "local_60 != 0" identifier != number_literal) )) (compound_statement "{\n    local_60 = *(long *)(local_60 + 0x10);\n  }" { (expression_statement "local_60 = *(long *)(local_60 + 0x10);" (assignment_expression "local_60 = *(long *)(local_60 + 0x10)" identifier = (pointer_expression "*(long *)(local_60 + 0x10)" * (cast_expression "(long *)(local_60 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_60 + 0x10)" ( (binary_expression "local_60 + 0x10" identifier + number_literal) ))))) ;) })) (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }" if (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" ( (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }" { (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" identifier = (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" ( (pointer_expression "**(code **)(*param_1 + 0xe8)" * (pointer_expression "*(code **)(*param_1 + 0xe8)" * (cast_expression "(code **)(*param_1 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xe8)" ( (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "__n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;" (assignment_expression "__n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2" identifier = (binary_expression "(plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2" (parenthesized_expression "(plVar7[1] - *plVar7 >> 3 & 0xffffffffU)" ( (binary_expression "plVar7[1] - *plVar7 >> 3 & 0xffffffffU" (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" identifier [ number_literal ]) - (pointer_expression "*plVar7" * identifier)) >> number_literal) & number_literal) )) << number_literal)) ;) (expression_statement "__s = (void *)thunk_FUN_002d94a0(__n);" (assignment_expression "__s = (void *)thunk_FUN_002d94a0(__n)" identifier = (cast_expression "(void *)thunk_FUN_002d94a0(__n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_002d94a0(__n)" identifier (argument_list "(__n)" ( identifier ))))) ;) (expression_statement "param_1[0x12] = (long)__s;" (assignment_expression "param_1[0x12] = (long)__s" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) = (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "memset(__s,0,__n);" (call_expression "memset(__s,0,__n)" identifier (argument_list "(__s,0,__n)" ( identifier , number_literal , identifier ))) ;) })) (expression_statement "local_40[0] = (uint *)*param_4;" (assignment_expression "local_40[0] = (uint *)*param_4" (subscript_expression "local_40[0]" identifier [ number_literal ]) = (cast_expression "(uint *)*param_4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_4" * identifier))) ;) (if_statement "if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(local_40[0] == (uint *)param_4[1])" ( (binary_expression "local_40[0] == (uint *)param_4[1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) == (cast_expression "(uint *)param_4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ]))) )) (compound_statement "{\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }" { (labeled_statement "LAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }" statement_identifier : (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }" if (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" ( (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_001bd780(param_1,param_3,1);\n    }" { (expression_statement "FUN_001bd780(param_1,param_3,1);" (call_expression "FUN_001bd780(param_1,param_3,1)" identifier (argument_list "(param_1,param_3,1)" ( identifier , identifier , number_literal ))) ;) }))) (expression_statement "lVar9 = param_4[3];" (assignment_expression "lVar9 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }" if (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }" { (expression_statement "FUN_0017a780(lVar9);" (call_expression "FUN_0017a780(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;) (expression_statement "thunk_FUN_002dac70(lVar9,0x18);" (call_expression "thunk_FUN_002dac70(lVar9,0x18)" identifier (argument_list "(lVar9,0x18)" ( identifier , number_literal ))) ;) (expression_statement "param_4[3] = 0;" (assignment_expression "param_4[3] = 0" (subscript_expression "param_4[3]" identifier [ number_literal ]) = number_literal) ;) })) (return_statement "return;" return ;) })) (expression_statement "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }" if (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }" { (do_statement "do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);" do (compound_statement "{\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    }" { (if_statement "if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }" if (parenthesized_expression "(((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0))" ( (binary_expression "((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)" (parenthesized_expression "((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0))" ( (binary_expression "(*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)" (parenthesized_expression "(*(char *)(lVar9 + 0x2809) == '\0')" ( (binary_expression "*(char *)(lVar9 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar9 + 0x2809)" * (cast_expression "(char *)(lVar9 + 0x2809)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x2809)" ( (binary_expression "lVar9 + 0x2809" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(lVar9 + 0x9050) == 0)" ( (binary_expression "*(int *)(lVar9 + 0x9050) == 0" (pointer_expression "*(int *)(lVar9 + 0x9050)" * (cast_expression "(int *)(lVar9 + 0x9050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x9050)" ( (binary_expression "lVar9 + 0x9050" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(*(long *)(local_40[0] + 8) != 0)" ( (binary_expression "*(long *)(local_40[0] + 8) != 0" (pointer_expression "*(long *)(local_40[0] + 8)" * (cast_expression "(long *)(local_40[0] + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }" { (if_statement "if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" if (parenthesized_expression "(*(char *)(lVar9 + 0x5051) == '\0')" ( (binary_expression "*(char *)(lVar9 + 0x5051) == '\0'" (pointer_expression "*(char *)(lVar9 + 0x5051)" * (cast_expression "(char *)(lVar9 + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + 0x5051)" ( (binary_expression "lVar9 + 0x5051" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }" { (if_statement "if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }" if (parenthesized_expression "(*(char *)((long)local_40[0] + 0x29) != '\0')" ( (binary_expression "*(char *)((long)local_40[0] + 0x29) != '\0'" (pointer_expression "*(char *)((long)local_40[0] + 0x29)" * (cast_expression "(char *)((long)local_40[0] + 0x29)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_40[0] + 0x29)" ( (binary_expression "(long)local_40[0] + 0x29" (cast_expression "(long)local_40[0]" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (subscript_expression "local_40[0]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }" { (expression_statement "(**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);" (call_expression "(**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60)" (parenthesized_expression "(**(code **)(*plVar2 + 0x168))" ( (pointer_expression "**(code **)(*plVar2 + 0x168)" * (pointer_expression "*(code **)(*plVar2 + 0x168)" * (cast_expression "(code **)(*plVar2 + 0x168)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar2 + 0x168)" ( (binary_expression "*plVar2 + 0x168" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) )) (argument_list "(plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(local_40[0] + 2) + 0x10)" ( (binary_expression "*(long *)(local_40[0] + 2) + 0x10" (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 6)" * (cast_expression "(undefined8 *)(local_40[0] + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) , (cast_expression "(int)param_1[0x24]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x24]" identifier [ number_literal ])) , identifier ))) ;) })) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }" { (expression_statement "FUN_00246f50(param_1,param_2,param_3,local_60,local_40);" (call_expression "FUN_00246f50(param_1,param_2,param_3,local_60,local_40)" identifier (argument_list "(param_1,param_2,param_3,local_60,local_40)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;" if (parenthesized_expression "(*(long *)(param_3 + 0x378) == 0)" ( (binary_expression "*(long *)(param_3 + 0x378) == 0" (pointer_expression "*(long *)(param_3 + 0x378)" * (cast_expression "(long *)(param_3 + 0x378)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x378)" ( (binary_expression "param_3 + 0x378" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;)) (if_statement "if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" if (parenthesized_expression "(local_40[0][4] == 9)" ( (binary_expression "local_40[0][4] == 9" (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) == number_literal) )) (compound_statement "{\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" { (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" identifier = (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "lVar3 = *(long *)(local_40[0] + 6);" (assignment_expression "lVar3 = *(long *)(local_40[0] + 6)" identifier = (pointer_expression "*(long *)(local_40[0] + 6)" * (cast_expression "(long *)(local_40[0] + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "puVar8 = *(ulong **)(lVar9 + 0x10);" (assignment_expression "puVar8 = *(ulong **)(lVar9 + 0x10)" identifier = (pointer_expression "*(ulong **)(lVar9 + 0x10)" * (cast_expression "(ulong **)(lVar9 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar9 + 0x10)" ( (binary_expression "lVar9 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" if (parenthesized_expression "(lVar3 != 0)" ( (binary_expression "lVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" { (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);" do (compound_statement "{\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              }" { (if_statement "if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" if (parenthesized_expression "((char)local_40[0][10] == '\0')" ( (binary_expression "(char)local_40[0][10] == '\0'" (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }" { (labeled_statement "LAB_002473e0:\n                  uVar4 = puVar8[1];" statement_identifier : (expression_statement "uVar4 = puVar8[1];" (assignment_expression "uVar4 = puVar8[1]" identifier = (subscript_expression "puVar8[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);" (assignment_expression "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" identifier = (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff" (call_expression "(uint)(uVar4 >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) & number_literal) | (binary_expression "(uint)(uVar4 >> 8) & 0xff00" (call_expression "(uint)(uVar4 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 8)" ( (binary_expression "uVar4 >> 8" identifier >> number_literal) ))) & number_literal)) | (call_expression "(uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((uVar4 & 0xff00) << 0x28) >> 0x20)" ( (binary_expression "((uVar4 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar4 & 0xff00) << 0x28)" ( (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) | (call_expression "(uint)((uVar4 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 << 0x38) >> 0x20)" ( (binary_expression "(uVar4 << 0x38) >> 0x20" (parenthesized_expression "(uVar4 << 0x38)" ( (binary_expression "uVar4 << 0x38" identifier << number_literal) )) >> number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x24) <= uVar6)" ( (binary_expression "*(uint *)(param_1 + 0x24) <= uVar6" (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" { (expression_statement "uVar6 = uVar6 - *(uint *)(param_1 + 0x24);" (assignment_expression "uVar6 = uVar6 - *(uint *)(param_1 + 0x24)" identifier = (binary_expression "uVar6 - *(uint *)(param_1 + 0x24)" identifier - (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))))) ;) (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" identifier = (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" ( (pointer_expression "**(code **)(*param_1 + 0xe8)" * (pointer_expression "*(code **)(*param_1 + 0xe8)" * (cast_expression "(code **)(*param_1 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xe8)" ( (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;" if (parenthesized_expression "((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6)" ( (binary_expression "(uint)(plVar7[1] - *plVar7 >> 3) <= uVar6" (call_expression "(uint)(plVar7[1] - *plVar7 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(plVar7[1] - *plVar7 >> 3)" ( (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" identifier [ number_literal ]) - (pointer_expression "*plVar7" * identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0024750d;" goto statement_identifier ;)) (if_statement "if (param_1[0x12] == 0) goto LAB_002474f5;" if (parenthesized_expression "(param_1[0x12] == 0)" ( (binary_expression "param_1[0x12] == 0" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_002474f5;" goto statement_identifier ;)) (expression_statement "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);" (assignment_expression "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4)" identifier = (cast_expression "(int *)(param_1[0x12] + (ulong)uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x12] + (ulong)uVar6 * 4)" ( (binary_expression "param_1[0x12] + (ulong)uVar6 * 4" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 4" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "*piVar1 = *piVar1 + 1;" (assignment_expression "*piVar1 = *piVar1 + 1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) })) }) (else_clause "else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" else (compound_statement "{\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" { (expression_statement "uVar4 = *puVar8;" (assignment_expression "uVar4 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);" (assignment_expression "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier = (call_expression "FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier (argument_list "(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" ( (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28" (binary_expression "uVar4 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar4 & 0xff000000000000)" ( (binary_expression "uVar4 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar4 & 0xff0000000000)" ( (binary_expression "uVar4 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00000000) >> 8" (parenthesized_expression "(uVar4 & 0xff00000000)" ( (binary_expression "uVar4 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal)) )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_002473e0;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002473e0;" goto statement_identifier ;)) }))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar8 + 2;" (assignment_expression "puVar8 = puVar8 + 2" identifier = (binary_expression "puVar8 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar3 != lVar9)" ( (binary_expression "lVar3 != lVar9" identifier != identifier) )) ;) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" else (compound_statement "{\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" { (if_statement "if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" if (parenthesized_expression "(local_40[0][4] != 4)" ( (binary_expression "local_40[0][4] != 4" (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" { (expression_statement "FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" identifier (argument_list "("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" ( (string_literal ""../../gold/reloc.cc"" " string_content ") , number_literal , (string_literal ""incremental_relocs_scan"" " string_content ") ))) ;) })) (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" identifier = (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "lVar3 = *(long *)(local_40[0] + 6);" (assignment_expression "lVar3 = *(long *)(local_40[0] + 6)" identifier = (pointer_expression "*(long *)(local_40[0] + 6)" * (cast_expression "(long *)(local_40[0] + 6)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "puVar8 = *(ulong **)(lVar9 + 0x10);" (assignment_expression "puVar8 = *(ulong **)(lVar9 + 0x10)" identifier = (pointer_expression "*(ulong **)(lVar9 + 0x10)" * (cast_expression "(ulong **)(lVar9 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar9 + 0x10)" ( (binary_expression "lVar9 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" if (parenthesized_expression "(lVar3 != 0)" ( (binary_expression "lVar3 != 0" identifier != number_literal) )) (compound_statement "{\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" { (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" identifier = number_literal) ;) (do_statement "do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);" do (compound_statement "{\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              }" { (if_statement "if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" if (parenthesized_expression "((char)local_40[0][10] == '\0')" ( (binary_expression "(char)local_40[0][10] == '\0'" (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }" { (labeled_statement "LAB_00247200:\n                  uVar4 = puVar8[1];" statement_identifier : (expression_statement "uVar4 = puVar8[1];" (assignment_expression "uVar4 = puVar8[1]" identifier = (subscript_expression "puVar8[1]" identifier [ number_literal ])) ;)) (expression_statement "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);" (assignment_expression "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" identifier = (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff" (call_expression "(uint)(uVar4 >> 0x18)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 0x18)" ( (binary_expression "uVar4 >> 0x18" identifier >> number_literal) ))) & number_literal) | (binary_expression "(uint)(uVar4 >> 8) & 0xff00" (call_expression "(uint)(uVar4 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar4 >> 8)" ( (binary_expression "uVar4 >> 8" identifier >> number_literal) ))) & number_literal)) | (call_expression "(uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((uVar4 & 0xff00) << 0x28) >> 0x20)" ( (binary_expression "((uVar4 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar4 & 0xff00) << 0x28)" ( (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal) )) >> number_literal) )))) | (call_expression "(uint)((uVar4 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar4 << 0x38) >> 0x20)" ( (binary_expression "(uVar4 << 0x38) >> 0x20" (parenthesized_expression "(uVar4 << 0x38)" ( (binary_expression "uVar4 << 0x38" identifier << number_literal) )) >> number_literal) ))))) ;) (if_statement "if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" if (parenthesized_expression "(*(uint *)(param_1 + 0x24) <= uVar6)" ( (binary_expression "*(uint *)(param_1 + 0x24) <= uVar6" (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" { (expression_statement "uVar6 = uVar6 - *(uint *)(param_1 + 0x24);" (assignment_expression "uVar6 = uVar6 - *(uint *)(param_1 + 0x24)" identifier = (binary_expression "uVar6 - *(uint *)(param_1 + 0x24)" identifier - (pointer_expression "*(uint *)(param_1 + 0x24)" * (cast_expression "(uint *)(param_1 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))))) ;) (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" identifier = (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" ( (pointer_expression "**(code **)(*param_1 + 0xe8)" * (pointer_expression "*(code **)(*param_1 + 0xe8)" * (cast_expression "(code **)(*param_1 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0xe8)" ( (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" if (parenthesized_expression "((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6)" ( (binary_expression "(uint)(plVar7[1] - *plVar7 >> 3) <= uVar6" (call_expression "(uint)(plVar7[1] - *plVar7 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(plVar7[1] - *plVar7 >> 3)" ( (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" identifier [ number_literal ]) - (pointer_expression "*plVar7" * identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" { (labeled_statement "LAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc")" identifier (argument_list "("../../gold/object.h",0x5f3,"count_incremental_reloc")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""count_incremental_reloc"" " string_content ") ))) ;)) })) (if_statement "if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" if (parenthesized_expression "(param_1[0x12] == 0)" ( (binary_expression "param_1[0x12] == 0" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" { (labeled_statement "LAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc")" identifier (argument_list "("../../gold/object.h",0x5f4,"count_incremental_reloc")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""count_incremental_reloc"" " string_content ") ))) ;)) })) (expression_statement "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);" (assignment_expression "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4)" identifier = (cast_expression "(int *)(param_1[0x12] + (ulong)uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x12] + (ulong)uVar6 * 4)" ( (binary_expression "param_1[0x12] + (ulong)uVar6 * 4" (subscript_expression "param_1[0x12]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 4" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "*piVar1 = *piVar1 + 1;" (assignment_expression "*piVar1 = *piVar1 + 1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) })) }) (else_clause "else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" else (compound_statement "{\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" { (expression_statement "uVar4 = *puVar8;" (assignment_expression "uVar4 = *puVar8" identifier = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);" (assignment_expression "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier = (call_expression "FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" identifier (argument_list "(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" ( (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28" (binary_expression "uVar4 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar4 & 0xff000000000000)" ( (binary_expression "uVar4 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar4 & 0xff0000000000)" ( (binary_expression "uVar4 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00000000) >> 8" (parenthesized_expression "(uVar4 & 0xff00000000)" ( (binary_expression "uVar4 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal)) )))) ;) (if_statement "if (cVar5 != '\0') goto LAB_00247200;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00247200;" goto statement_identifier ;)) }))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" identifier = (binary_expression "lVar9 + 1" identifier + number_literal)) ;) (expression_statement "puVar8 = puVar8 + 3;" (assignment_expression "puVar8 = puVar8 + 3" identifier = (binary_expression "puVar8 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(lVar3 != lVar9)" ( (binary_expression "lVar3 != lVar9" identifier != identifier) )) ;) (goto_statement "goto LAB_002472d6;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_002472df:\n          FUN_0017a780(lVar9);" statement_identifier : (expression_statement "FUN_0017a780(lVar9);" (call_expression "FUN_0017a780(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;)) (expression_statement "thunk_FUN_002dac70(lVar9,0x18);" (call_expression "thunk_FUN_002dac70(lVar9,0x18)" identifier (argument_list "(lVar9,0x18)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" else (compound_statement "{\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" { (if_statement "if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }" if (parenthesized_expression "(*(uint *)(param_1 + 7) <= *local_40[0])" ( (binary_expression "*(uint *)(param_1 + 7) <= *local_40[0]" (pointer_expression "*(uint *)(param_1 + 7)" * (cast_expression "(uint *)(param_1 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 7)" ( (binary_expression "param_1 + 7" identifier + number_literal) )))) <= (pointer_expression "*local_40[0]" * (subscript_expression "local_40[0]" identifier [ number_literal ]))) )) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }" { (expression_statement "FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs")" identifier (argument_list "("../../gold/object.h",0x549,"relocatable_relocs")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""relocatable_relocs"" " string_content ") ))) ;) })) (expression_statement "lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);" (assignment_expression "lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" identifier = (pointer_expression "*(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" * (cast_expression "(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" ( (binary_expression "*(long *)param_1[0xd] + (ulong)*local_40[0] * 8" (pointer_expression "*(long *)param_1[0xd]" * (cast_expression "(long *)param_1[0xd]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xd]" identifier [ number_literal ]))) + (binary_expression "(ulong)*local_40[0] * 8" (binary_expression "(ulong)*local_40[0]" (parenthesized_expression "(ulong)" ( identifier )) * (subscript_expression "local_40[0]" identifier [ number_literal ])) * number_literal)) ))))) ;) (if_statement "if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" if (parenthesized_expression "(lVar9 == 0)" ( (binary_expression "lVar9 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" { (expression_statement "FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" identifier (argument_list "("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" ( (string_literal ""../../gold/reloc.cc"" " string_content ") , number_literal , (string_literal ""do_scan_relocs"" " string_content ") ))) ;) })) (expression_statement "FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));" (call_expression "FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6))" identifier (argument_list "(lVar9,*(undefined8 *)(local_40[0] + 6))" ( identifier , (pointer_expression "*(undefined8 *)(local_40[0] + 6)" * (cast_expression "(undefined8 *)(local_40[0] + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (expression_statement "(**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);" (call_expression "(**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9)" (parenthesized_expression "(**(code **)(*plVar2 + 0x178))" ( (pointer_expression "**(code **)(*plVar2 + 0x178)" * (pointer_expression "*(code **)(*plVar2 + 0x178)" * (cast_expression "(code **)(*plVar2 + 0x178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar2 + 0x178)" ( (binary_expression "*plVar2 + 0x178" (pointer_expression "*plVar2" * identifier) + number_literal) ))))) )) (argument_list "(plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" * (cast_expression "(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(local_40[0] + 2) + 0x10)" ( (binary_expression "*(long *)(local_40[0] + 2) + 0x10" (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 6)" * (cast_expression "(undefined8 *)(local_40[0] + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 6)" ( (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (pointer_expression "*(undefined8 *)(local_40[0] + 8)" * (cast_expression "(undefined8 *)(local_40[0] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 8)" ( (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) )))) , (cast_expression "(char)local_40[0][10]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ])) , (cast_expression "(int)param_1[0x24]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[0x24]" identifier [ number_literal ])) , identifier , identifier ))) ;) (labeled_statement "LAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);" statement_identifier : (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" identifier = (pointer_expression "*(long *)(local_40[0] + 2)" * (cast_expression "(long *)(local_40[0] + 2)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40[0] + 2)" ( (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal) ))))) ;)) (if_statement "if (lVar9 != 0) goto LAB_002472df;" if (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002472df;" goto statement_identifier ;)) }))) (expression_statement "local_40[0][2] = 0;" (assignment_expression "local_40[0][2] = 0" (subscript_expression "local_40[0][2]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) = number_literal) ;) (expression_statement "local_40[0][3] = 0;" (assignment_expression "local_40[0][3] = 0" (subscript_expression "local_40[0][3]" (subscript_expression "local_40[0]" identifier [ number_literal ]) [ number_literal ]) = number_literal) ;) })) (expression_statement "local_40[0] = local_40[0] + 0xc;" (assignment_expression "local_40[0] = local_40[0] + 0xc" (subscript_expression "local_40[0]" identifier [ number_literal ]) = (binary_expression "local_40[0] + 0xc" (subscript_expression "local_40[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;" if (parenthesized_expression "((uint *)param_4[1] == local_40[0])" ( (binary_expression "(uint *)param_4[1] == local_40[0]" (cast_expression "(uint *)param_4[1]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_4[1]" identifier [ number_literal ])) == (subscript_expression "local_40[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00247470;" goto statement_identifier ;)) (expression_statement "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(lVar9 != 0)" ( (binary_expression "lVar9 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) & LIT) )) << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (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 ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (break_statement break ;)) (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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT)) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) )))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (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) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) ))) <= IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT)) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) )) >> LIT) )))) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (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) )))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT) ))) <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (goto_statement goto statement_identifier ;) })) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (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 * (subscript_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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (subscript_expression IDENT [ LIT ])) * LIT)) ))))) ;) (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 (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 ") ))) ;) })))
(function_definition "void FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)\n\n{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" (primitive_type "void") (function_declarator "FUN_00247050(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)" (identifier "FUN_00247050") (parameter_list "(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "long param_3" (sized_type_specifier "long" (long "long")) (identifier "param_3")) (, ",") (parameter_declaration "undefined8 *param_4" (type_identifier "undefined8") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  int *piVar1;\n  long *plVar2;\n  long lVar3;\n  ulong uVar4;\n  char cVar5;\n  uint uVar6;\n  long *plVar7;\n  void *__s;\n  size_t __n;\n  ulong *puVar8;\n  long lVar9;\n  long local_60;\n  uint *local_40 [2];\n  \n  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);\n  if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }\n  local_60 = param_4[3];\n  if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }\n  if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }\n  local_40[0] = (uint *)*param_4;\n  if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n  if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }\n                    \n  FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "long *plVar2;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar2" (* "*") (identifier "plVar2")) (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "ulong uVar4;" (type_identifier "ulong") (identifier "uVar4") (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "long *plVar7;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar7" (* "*") (identifier "plVar7")) (; ";")) (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "ulong *puVar8;" (type_identifier "ulong") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "long lVar9;" (sized_type_specifier "long" (long "long")) (identifier "lVar9") (; ";")) (declaration "long local_60;" (sized_type_specifier "long" (long "long")) (identifier "local_60") (; ";")) (declaration "uint *local_40 [2];" (type_identifier "uint") (pointer_declarator "*local_40 [2]" (* "*") (array_declarator "local_40 [2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);" (assignment_expression "plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18)" (identifier "plVar2") (= "=") (pointer_expression "*(long **)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (plVar2 == (long *)0x0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }" (if "if") (parenthesized_expression "(plVar2 == (long *)0x0)" (( "(") (binary_expression "plVar2 == (long *)0x0" (identifier "plVar2") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x73,"sized_target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x73,"sized_target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x73") (, ",") (string_literal ""sized_target"" (" """) (string_content "sized_target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_60 = param_4[3];" (assignment_expression "local_60 = param_4[3]" (identifier "local_60") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (local_60 != 0) {\n    local_60 = *(long *)(local_60 + 0x10);\n  }" (if "if") (parenthesized_expression "(local_60 != 0)" (( "(") (binary_expression "local_60 != 0" (identifier "local_60") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_60 = *(long *)(local_60 + 0x10);\n  }" ({ "{") (expression_statement "local_60 = *(long *)(local_60 + 0x10);" (assignment_expression "local_60 = *(long *)(local_60 + 0x10)" (identifier "local_60") (= "=") (pointer_expression "*(long *)(local_60 + 0x10)" (* "*") (cast_expression "(long *)(local_60 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_60 + 0x10)" (( "(") (binary_expression "local_60 + 0x10" (identifier "local_60") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }" (if "if") (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" (( "(") (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" (* "*") (cast_expression "(long *)(param_3 + 0x378)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x378)" (( "(") (binary_expression "param_3 + 0x378" (identifier "param_3") (+ "+") (number_literal "0x378")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;\n    __s = (void *)thunk_FUN_002d94a0(__n);\n    param_1[0x12] = (long)__s;\n    memset(__s,0,__n);\n  }" ({ "{") (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" (identifier "plVar7") (= "=") (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" (( "(") (pointer_expression "**(code **)(*param_1 + 0xe8)" (* "*") (pointer_expression "*(code **)(*param_1 + 0xe8)" (* "*") (cast_expression "(code **)(*param_1 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0xe8)" (( "(") (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "__n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;" (assignment_expression "__n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2" (identifier "__n") (= "=") (binary_expression "(plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2" (parenthesized_expression "(plVar7[1] - *plVar7 >> 3 & 0xffffffffU)" (( "(") (binary_expression "plVar7[1] - *plVar7 >> 3 & 0xffffffffU" (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" (identifier "plVar7") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*plVar7" (* "*") (identifier "plVar7"))) (>> ">>") (number_literal "3")) (& "&") (number_literal "0xffffffffU")) () ")")) (<< "<<") (number_literal "2"))) (; ";")) (expression_statement "__s = (void *)thunk_FUN_002d94a0(__n);" (assignment_expression "__s = (void *)thunk_FUN_002d94a0(__n)" (identifier "__s") (= "=") (cast_expression "(void *)thunk_FUN_002d94a0(__n)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "thunk_FUN_002d94a0(__n)" (identifier "thunk_FUN_002d94a0") (argument_list "(__n)" (( "(") (identifier "__n") () ")"))))) (; ";")) (expression_statement "param_1[0x12] = (long)__s;" (assignment_expression "param_1[0x12] = (long)__s" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s"))) (; ";")) (expression_statement "memset(__s,0,__n);" (call_expression "memset(__s,0,__n)" (identifier "memset") (argument_list "(__s,0,__n)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (identifier "__n") () ")"))) (; ";")) (} "}"))) (expression_statement "local_40[0] = (uint *)*param_4;" (assignment_expression "local_40[0] = (uint *)*param_4" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(uint *)*param_4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_4" (* "*") (identifier "param_4")))) (; ";")) (if_statement "if (local_40[0] == (uint *)param_4[1]) {\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(local_40[0] == (uint *)param_4[1])" (( "(") (binary_expression "local_40[0] == (uint *)param_4[1]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (== "==") (cast_expression "(uint *)param_4[1]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\nLAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }\n    lVar9 = param_4[3];\n    if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }\n    return;\n  }" ({ "{") (labeled_statement "LAB_00247470:\n    if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }" (statement_identifier "LAB_00247470") (: ":") (if_statement "if (*(long *)(param_3 + 0x378) != 0) {\n      FUN_001bd780(param_1,param_3,1);\n    }" (if "if") (parenthesized_expression "(*(long *)(param_3 + 0x378) != 0)" (( "(") (binary_expression "*(long *)(param_3 + 0x378) != 0" (pointer_expression "*(long *)(param_3 + 0x378)" (* "*") (cast_expression "(long *)(param_3 + 0x378)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x378)" (( "(") (binary_expression "param_3 + 0x378" (identifier "param_3") (+ "+") (number_literal "0x378")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_001bd780(param_1,param_3,1);\n    }" ({ "{") (expression_statement "FUN_001bd780(param_1,param_3,1);" (call_expression "FUN_001bd780(param_1,param_3,1)" (identifier "FUN_001bd780") (argument_list "(param_1,param_3,1)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}")))) (expression_statement "lVar9 = param_4[3];" (assignment_expression "lVar9 = param_4[3]" (identifier "lVar9") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (lVar9 != 0) {\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }" (if "if") (parenthesized_expression "(lVar9 != 0)" (( "(") (binary_expression "lVar9 != 0" (identifier "lVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0017a780(lVar9);\n      thunk_FUN_002dac70(lVar9,0x18);\n      param_4[3] = 0;\n    }" ({ "{") (expression_statement "FUN_0017a780(lVar9);" (call_expression "FUN_0017a780(lVar9)" (identifier "FUN_0017a780") (argument_list "(lVar9)" (( "(") (identifier "lVar9") () ")"))) (; ";")) (expression_statement "thunk_FUN_002dac70(lVar9,0x18);" (call_expression "thunk_FUN_002dac70(lVar9,0x18)" (identifier "thunk_FUN_002dac70") (argument_list "(lVar9,0x18)" (( "(") (identifier "lVar9") (, ",") (number_literal "0x18") () ")"))) (; ";")) (expression_statement "param_4[3] = 0;" (assignment_expression "param_4[3] = 0" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar9 != 0) {\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }" (if "if") (parenthesized_expression "(lVar9 != 0)" (( "(") (binary_expression "lVar9 != 0" (identifier "lVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);\n  }" ({ "{") (do_statement "do {\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    } while (lVar9 != 0);" (do "do") (compound_statement "{\n      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }\n      local_40[0] = local_40[0] + 0xc;\n      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;\n      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);\n    }" ({ "{") (if_statement "if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)) {\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }" (if "if") (parenthesized_expression "(((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0))" (( "(") (binary_expression "((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||\n         (*(long *)(local_40[0] + 8) != 0)" (parenthesized_expression "((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0))" (( "(") (binary_expression "(*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)" (parenthesized_expression "(*(char *)(lVar9 + 0x2809) == '\0')" (( "(") (binary_expression "*(char *)(lVar9 + 0x2809) == '\0'" (pointer_expression "*(char *)(lVar9 + 0x2809)" (* "*") (cast_expression "(char *)(lVar9 + 0x2809)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x2809)" (( "(") (binary_expression "lVar9 + 0x2809" (identifier "lVar9") (+ "+") (number_literal "0x2809")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(lVar9 + 0x9050) == 0)" (( "(") (binary_expression "*(int *)(lVar9 + 0x9050) == 0" (pointer_expression "*(int *)(lVar9 + 0x9050)" (* "*") (cast_expression "(int *)(lVar9 + 0x9050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x9050)" (( "(") (binary_expression "lVar9 + 0x9050" (identifier "lVar9") (+ "+") (number_literal "0x9050")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(long *)(local_40[0] + 8) != 0)" (( "(") (binary_expression "*(long *)(local_40[0] + 8) != 0" (pointer_expression "*(long *)(local_40[0] + 8)" (* "*") (cast_expression "(long *)(local_40[0] + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 8)" (( "(") (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "8")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }\n        local_40[0][2] = 0;\n        local_40[0][3] = 0;\n      }" ({ "{") (if_statement "if (*(char *)(lVar9 + 0x5051) == '\0') {\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }\n        else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" (if "if") (parenthesized_expression "(*(char *)(lVar9 + 0x5051) == '\0')" (( "(") (binary_expression "*(char *)(lVar9 + 0x5051) == '\0'" (pointer_expression "*(char *)(lVar9 + 0x5051)" (* "*") (cast_expression "(char *)(lVar9 + 0x5051)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + 0x5051)" (( "(") (binary_expression "lVar9 + 0x5051" (identifier "lVar9") (+ "+") (number_literal "0x5051")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }\n          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;\n          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }\n          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;\n          if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\nLAB_002472df:\n          FUN_0017a780(lVar9);\n          thunk_FUN_002dac70(lVar9,0x18);\n        }" ({ "{") (if_statement "if (*(char *)((long)local_40[0] + 0x29) != '\0') {\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }" (if "if") (parenthesized_expression "(*(char *)((long)local_40[0] + 0x29) != '\0')" (( "(") (binary_expression "*(char *)((long)local_40[0] + 0x29) != '\0'" (pointer_expression "*(char *)((long)local_40[0] + 0x29)" (* "*") (cast_expression "(char *)((long)local_40[0] + 0x29)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_40[0] + 0x29)" (( "(") (binary_expression "(long)local_40[0] + 0x29" (cast_expression "(long)local_40[0]" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x29")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);\n          }" ({ "{") (expression_statement "(**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60);" (call_expression "(**(code **)(*plVar2 + 0x168))\n                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60)" (parenthesized_expression "(**(code **)(*plVar2 + 0x168))" (( "(") (pointer_expression "**(code **)(*plVar2 + 0x168)" (* "*") (pointer_expression "*(code **)(*plVar2 + 0x168)" (* "*") (cast_expression "(code **)(*plVar2 + 0x168)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar2 + 0x168)" (( "(") (binary_expression "*plVar2 + 0x168" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (+ "+") (number_literal "0x168")) () ")"))))) () ")")) (argument_list "(plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                       (char)local_40[0][10],(int)param_1[0x24],local_60)" (( "(") (identifier "plVar2") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (, ",") (pointer_expression "*(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" (* "*") (cast_expression "(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(local_40[0] + 2) + 0x10)" (( "(") (binary_expression "*(long *)(local_40[0] + 2) + 0x10" (pointer_expression "*(long *)(local_40[0] + 2)" (* "*") (cast_expression "(long *)(local_40[0] + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 2)" (( "(") (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "2")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined8 *)(local_40[0] + 6)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 6)" (( "(") (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "6")) () ")")))) (, ",") (pointer_expression "*(undefined8 *)(local_40[0] + 8)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 8)" (( "(") (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (cast_expression "(char)local_40[0][10]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "10") (] "]"))) (, ",") (cast_expression "(int)param_1[0x24]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]"))) (, ",") (identifier "local_60") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x4ec1")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);\n          }" ({ "{") (expression_statement "FUN_00246f50(param_1,param_2,param_3,local_60,local_40);" (call_expression "FUN_00246f50(param_1,param_2,param_3,local_60,local_40)" (identifier "FUN_00246f50") (argument_list "(param_1,param_2,param_3,local_60,local_40)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "local_60") (, ",") (identifier "local_40") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;" (if "if") (parenthesized_expression "(*(long *)(param_3 + 0x378) == 0)" (( "(") (binary_expression "*(long *)(param_3 + 0x378) == 0" (pointer_expression "*(long *)(param_3 + 0x378)" (* "*") (cast_expression "(long *)(param_3 + 0x378)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x378)" (( "(") (binary_expression "param_3 + 0x378" (identifier "param_3") (+ "+") (number_literal "0x378")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002472d6;" (goto "goto") (statement_identifier "LAB_002472d6") (; ";"))) (if_statement "if (local_40[0][4] == 9) {\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }\n          else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" (if "if") (parenthesized_expression "(local_40[0][4] == 9)" (( "(") (binary_expression "local_40[0][4] == 9" (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "9")) () ")")) (compound_statement "{\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" ({ "{") (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(local_40[0] + 2)" (* "*") (cast_expression "(long *)(local_40[0] + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 2)" (( "(") (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "lVar3 = *(long *)(local_40[0] + 6);" (assignment_expression "lVar3 = *(long *)(local_40[0] + 6)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(local_40[0] + 6)" (* "*") (cast_expression "(long *)(local_40[0] + 6)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 6)" (( "(") (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "puVar8 = *(ulong **)(lVar9 + 0x10);" (assignment_expression "puVar8 = *(ulong **)(lVar9 + 0x10)" (identifier "puVar8") (= "=") (pointer_expression "*(ulong **)(lVar9 + 0x10)" (* "*") (cast_expression "(ulong **)(lVar9 + 0x10)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar9 + 0x10)" (( "(") (binary_expression "lVar9 + 0x10" (identifier "lVar9") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" (if "if") (parenthesized_expression "(lVar3 != 0)" (( "(") (binary_expression "lVar3 != 0" (identifier "lVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" ({ "{") (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" (identifier "lVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              } while (lVar3 != lVar9);" (do "do") (compound_statement "{\n                if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 2;\n              }" ({ "{") (if_statement "if ((char)local_40[0][10] == '\0') {\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" (if "if") (parenthesized_expression "((char)local_40[0][10] == '\0')" (( "(") (binary_expression "(char)local_40[0][10] == '\0'" (cast_expression "(char)local_40[0][10]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "10") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_002473e0:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }" ({ "{") (labeled_statement "LAB_002473e0:\n                  uVar4 = puVar8[1];" (statement_identifier "LAB_002473e0") (: ":") (expression_statement "uVar4 = puVar8[1];" (assignment_expression "uVar4 = puVar8[1]" (identifier "uVar4") (= "=") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);" (assignment_expression "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (identifier "uVar6") (= "=") (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff" (call_expression "(uint)(uVar4 >> 0x18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")"))) (& "&") (number_literal "0xff")) (| "|") (binary_expression "(uint)(uVar4 >> 8) & 0xff00" (call_expression "(uint)(uVar4 >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> 8)" (( "(") (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) () ")"))) (& "&") (number_literal "0xff00"))) (| "|") (call_expression "(uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((uVar4 & 0xff00) << 0x28) >> 0x20)" (( "(") (binary_expression "((uVar4 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar4 & 0xff00) << 0x28)" (( "(") (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28")) () ")")) (>> ">>") (number_literal "0x20")) () ")")))) (| "|") (call_expression "(uint)((uVar4 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar4 << 0x38) >> 0x20)" (( "(") (binary_expression "(uVar4 << 0x38) >> 0x20" (parenthesized_expression "(uVar4 << 0x38)" (( "(") (binary_expression "uVar4 << 0x38" (identifier "uVar4") (<< "<<") (number_literal "0x38")) () ")")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x24) <= uVar6)" (( "(") (binary_expression "*(uint *)(param_1 + 0x24) <= uVar6" (pointer_expression "*(uint *)(param_1 + 0x24)" (* "*") (cast_expression "(uint *)(param_1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;\n                    if (param_1[0x12] == 0) goto LAB_002474f5;\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" ({ "{") (expression_statement "uVar6 = uVar6 - *(uint *)(param_1 + 0x24);" (assignment_expression "uVar6 = uVar6 - *(uint *)(param_1 + 0x24)" (identifier "uVar6") (= "=") (binary_expression "uVar6 - *(uint *)(param_1 + 0x24)" (identifier "uVar6") (- "-") (pointer_expression "*(uint *)(param_1 + 0x24)" (* "*") (cast_expression "(uint *)(param_1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))))) (; ";")) (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" (identifier "plVar7") (= "=") (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" (( "(") (pointer_expression "**(code **)(*param_1 + 0xe8)" (* "*") (pointer_expression "*(code **)(*param_1 + 0xe8)" (* "*") (cast_expression "(code **)(*param_1 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0xe8)" (( "(") (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;" (if "if") (parenthesized_expression "((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6)" (( "(") (binary_expression "(uint)(plVar7[1] - *plVar7 >> 3) <= uVar6" (call_expression "(uint)(plVar7[1] - *plVar7 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(plVar7[1] - *plVar7 >> 3)" (( "(") (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" (identifier "plVar7") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*plVar7" (* "*") (identifier "plVar7"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar6")) () ")")) (goto_statement "goto LAB_0024750d;" (goto "goto") (statement_identifier "LAB_0024750d") (; ";"))) (if_statement "if (param_1[0x12] == 0) goto LAB_002474f5;" (if "if") (parenthesized_expression "(param_1[0x12] == 0)" (( "(") (binary_expression "param_1[0x12] == 0" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002474f5;" (goto "goto") (statement_identifier "LAB_002474f5") (; ";"))) (expression_statement "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);" (assignment_expression "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4)" (identifier "piVar1") (= "=") (cast_expression "(int *)(param_1[0x12] + (ulong)uVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x12] + (ulong)uVar6 * 4)" (( "(") (binary_expression "param_1[0x12] + (ulong)uVar6 * 4" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (binary_expression "(ulong)uVar6 * 4" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*piVar1 = *piVar1 + 1;" (assignment_expression "*piVar1 = *piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" (else "else") (compound_statement "{\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_002473e0;\n                }" ({ "{") (expression_statement "uVar4 = *puVar8;" (assignment_expression "uVar4 = *puVar8" (identifier "uVar4") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);" (assignment_expression "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" (identifier "cVar5") (= "=") (call_expression "FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" (identifier "FUN_001fbc30") (argument_list "(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" (( "(") (pointer_expression "*(undefined8 *)(local_40[0] + 8)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 8)" (( "(") (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "param_1") (, ",") (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28" (binary_expression "uVar4 >> 0x38" (identifier "uVar4") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar4 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar4 & 0xff000000000000)" (( "(") (binary_expression "uVar4 & 0xff000000000000" (identifier "uVar4") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar4 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar4 & 0xff0000000000)" (( "(") (binary_expression "uVar4 & 0xff0000000000" (identifier "uVar4") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar4 & 0xff00000000) >> 8" (parenthesized_expression "(uVar4 & 0xff00000000)" (( "(") (binary_expression "uVar4 & 0xff00000000" (identifier "uVar4") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" (( "(") (binary_expression "uVar4 & 0xff000000" (identifier "uVar4") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar4 << 0x38" (identifier "uVar4") (<< "<<") (number_literal "0x38"))) () ")")))) (; ";")) (if_statement "if (cVar5 != '\0') goto LAB_002473e0;" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002473e0;" (goto "goto") (statement_identifier "LAB_002473e0") (; ";"))) (} "}")))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" (identifier "lVar9") (= "=") (binary_expression "lVar9 + 1" (identifier "lVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = puVar8 + 2;" (assignment_expression "puVar8 = puVar8 + 2" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 2" (identifier "puVar8") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar3 != lVar9)" (( "(") (binary_expression "lVar3 != lVar9" (identifier "lVar3") (!= "!=") (identifier "lVar9")) () ")")) (; ";")) (goto_statement "goto LAB_002472d6;" (goto "goto") (statement_identifier "LAB_002472d6") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" (else "else") (compound_statement "{\n            if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            lVar9 = *(long *)(local_40[0] + 2);\n            lVar3 = *(long *)(local_40[0] + 6);\n            puVar8 = *(ulong **)(lVar9 + 0x10);\n            if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }\n          }" ({ "{") (if_statement "if (local_40[0][4] != 4) {\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" (if "if") (parenthesized_expression "(local_40[0][4] != 4)" (( "(") (binary_expression "local_40[0][4] != 4" (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                    \n              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" ({ "{") (expression_statement "FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" (identifier "FUN_0017c650") (argument_list "("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" (( "(") (string_literal ""../../gold/reloc.cc"" (" """) (string_content "../../gold/reloc.cc") (" """)) (, ",") (number_literal "0x222") (, ",") (string_literal ""incremental_relocs_scan"" (" """) (string_content "incremental_relocs_scan") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(local_40[0] + 2)" (* "*") (cast_expression "(long *)(local_40[0] + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 2)" (( "(") (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "lVar3 = *(long *)(local_40[0] + 6);" (assignment_expression "lVar3 = *(long *)(local_40[0] + 6)" (identifier "lVar3") (= "=") (pointer_expression "*(long *)(local_40[0] + 6)" (* "*") (cast_expression "(long *)(local_40[0] + 6)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 6)" (( "(") (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "puVar8 = *(ulong **)(lVar9 + 0x10);" (assignment_expression "puVar8 = *(ulong **)(lVar9 + 0x10)" (identifier "puVar8") (= "=") (pointer_expression "*(ulong **)(lVar9 + 0x10)" (* "*") (cast_expression "(ulong **)(lVar9 + 0x10)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar9 + 0x10)" (( "(") (binary_expression "lVar9 + 0x10" (identifier "lVar9") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar3 != 0) {\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" (if "if") (parenthesized_expression "(lVar3 != 0)" (( "(") (binary_expression "lVar3 != 0" (identifier "lVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              lVar9 = 0;\n              do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);\n              goto LAB_002472d6;\n            }" ({ "{") (expression_statement "lVar9 = 0;" (assignment_expression "lVar9 = 0" (identifier "lVar9") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              } while (lVar3 != lVar9);" (do "do") (compound_statement "{\n                if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }\n                lVar9 = lVar9 + 1;\n                puVar8 = puVar8 + 3;\n              }" ({ "{") (if_statement "if ((char)local_40[0][10] == '\0') {\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }\n                else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" (if "if") (parenthesized_expression "((char)local_40[0][10] == '\0')" (( "(") (binary_expression "(char)local_40[0][10] == '\0'" (cast_expression "(char)local_40[0][10]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "10") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_00247200:\n                  uVar4 = puVar8[1];\n                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);\n                  if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }\n                }" ({ "{") (labeled_statement "LAB_00247200:\n                  uVar4 = puVar8[1];" (statement_identifier "LAB_00247200") (: ":") (expression_statement "uVar4 = puVar8[1];" (assignment_expression "uVar4 = puVar8[1]" (identifier "uVar4") (= "=") (subscript_expression "puVar8[1]" (identifier "puVar8") ([ "[") (number_literal "1") (] "]"))) (; ";"))) (expression_statement "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20);" (assignment_expression "uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (identifier "uVar6") (= "=") (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |\n                          (uint)((uVar4 << 0x38) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |\n                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00" (binary_expression "(uint)(uVar4 >> 0x18) & 0xff" (call_expression "(uint)(uVar4 >> 0x18)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> 0x18)" (( "(") (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) () ")"))) (& "&") (number_literal "0xff")) (| "|") (binary_expression "(uint)(uVar4 >> 8) & 0xff00" (call_expression "(uint)(uVar4 >> 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar4 >> 8)" (( "(") (binary_expression "uVar4 >> 8" (identifier "uVar4") (>> ">>") (number_literal "8")) () ")"))) (& "&") (number_literal "0xff00"))) (| "|") (call_expression "(uint)(((uVar4 & 0xff00) << 0x28) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((uVar4 & 0xff00) << 0x28) >> 0x20)" (( "(") (binary_expression "((uVar4 & 0xff00) << 0x28) >> 0x20" (parenthesized_expression "((uVar4 & 0xff00) << 0x28)" (( "(") (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28")) () ")")) (>> ">>") (number_literal "0x20")) () ")")))) (| "|") (call_expression "(uint)((uVar4 << 0x38) >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uVar4 << 0x38) >> 0x20)" (( "(") (binary_expression "(uVar4 << 0x38) >> 0x20" (parenthesized_expression "(uVar4 << 0x38)" (( "(") (binary_expression "uVar4 << 0x38" (identifier "uVar4") (<< "<<") (number_literal "0x38")) () ")")) (>> ">>") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (*(uint *)(param_1 + 0x24) <= uVar6) {\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 0x24) <= uVar6)" (( "(") (binary_expression "*(uint *)(param_1 + 0x24) <= uVar6" (pointer_expression "*(uint *)(param_1 + 0x24)" (* "*") (cast_expression "(uint *)(param_1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\n                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);\n                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);\n                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }\n                    if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }\n                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);\n                    *piVar1 = *piVar1 + 1;\n                  }" ({ "{") (expression_statement "uVar6 = uVar6 - *(uint *)(param_1 + 0x24);" (assignment_expression "uVar6 = uVar6 - *(uint *)(param_1 + 0x24)" (identifier "uVar6") (= "=") (binary_expression "uVar6 - *(uint *)(param_1 + 0x24)" (identifier "uVar6") (- "-") (pointer_expression "*(uint *)(param_1 + 0x24)" (* "*") (cast_expression "(uint *)(param_1 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))))) (; ";")) (expression_statement "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);" (assignment_expression "plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1)" (identifier "plVar7") (= "=") (cast_expression "(long *)(**(code **)(*param_1 + 0xe8))(param_1)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0xe8))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0xe8))" (( "(") (pointer_expression "**(code **)(*param_1 + 0xe8)" (* "*") (pointer_expression "*(code **)(*param_1 + 0xe8)" (* "*") (cast_expression "(code **)(*param_1 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0xe8)" (( "(") (binary_expression "*param_1 + 0xe8" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" (if "if") (parenthesized_expression "((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6)" (( "(") (binary_expression "(uint)(plVar7[1] - *plVar7 >> 3) <= uVar6" (call_expression "(uint)(plVar7[1] - *plVar7 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(plVar7[1] - *plVar7 >> 3)" (( "(") (binary_expression "plVar7[1] - *plVar7 >> 3" (binary_expression "plVar7[1] - *plVar7" (subscript_expression "plVar7[1]" (identifier "plVar7") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*plVar7" (* "*") (identifier "plVar7"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\nLAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                    }" ({ "{") (labeled_statement "LAB_0024750d:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");" (statement_identifier "LAB_0024750d") (: ":") (expression_statement "FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x5f3,"count_incremental_reloc")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5f3") (, ",") (string_literal ""count_incremental_reloc"" (" """) (string_content "count_incremental_reloc") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (param_1[0x12] == 0) {\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" (if "if") (parenthesized_expression "(param_1[0x12] == 0)" (( "(") (binary_expression "param_1[0x12] == 0" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                    }" ({ "{") (labeled_statement "LAB_002474f5:\n                    \n                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");" (statement_identifier "LAB_002474f5") (: ":") (expression_statement "FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x5f4,"count_incremental_reloc")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5f4") (, ",") (string_literal ""count_incremental_reloc"" (" """) (string_content "count_incremental_reloc") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);" (assignment_expression "piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4)" (identifier "piVar1") (= "=") (cast_expression "(int *)(param_1[0x12] + (ulong)uVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x12] + (ulong)uVar6 * 4)" (( "(") (binary_expression "param_1[0x12] + (ulong)uVar6 * 4" (subscript_expression "param_1[0x12]" (identifier "param_1") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (binary_expression "(ulong)uVar6 * 4" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*piVar1 = *piVar1 + 1;" (assignment_expression "*piVar1 = *piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "*piVar1 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" (else "else") (compound_statement "{\n                  uVar4 = *puVar8;\n                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);\n                  if (cVar5 != '\0') goto LAB_00247200;\n                }" ({ "{") (expression_statement "uVar4 = *puVar8;" (assignment_expression "uVar4 = *puVar8" (identifier "uVar4") (= "=") (pointer_expression "*puVar8" (* "*") (identifier "puVar8"))) (; ";")) (expression_statement "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38);" (assignment_expression "cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" (identifier "cVar5") (= "=") (call_expression "FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" (identifier "FUN_001fbc30") (argument_list "(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],\n                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38)" (( "(") (pointer_expression "*(undefined8 *)(local_40[0] + 8)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 8)" (( "(") (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (identifier "param_1") (, ",") (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                                       uVar4 << 0x38" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |\n                                       (uVar4 & 0xff0000) << 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18 |\n                                       (uVar4 & 0xff00000000) >> 8" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |\n                                       (uVar4 & 0xff0000000000) >> 0x18" (binary_expression "uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28" (binary_expression "uVar4 >> 0x38" (identifier "uVar4") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar4 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar4 & 0xff000000000000)" (( "(") (binary_expression "uVar4 & 0xff000000000000" (identifier "uVar4") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar4 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar4 & 0xff0000000000)" (( "(") (binary_expression "uVar4 & 0xff0000000000" (identifier "uVar4") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar4 & 0xff00000000) >> 8" (parenthesized_expression "(uVar4 & 0xff00000000)" (( "(") (binary_expression "uVar4 & 0xff00000000" (identifier "uVar4") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" (( "(") (binary_expression "uVar4 & 0xff000000" (identifier "uVar4") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar4 << 0x38" (identifier "uVar4") (<< "<<") (number_literal "0x38"))) () ")")))) (; ";")) (if_statement "if (cVar5 != '\0') goto LAB_00247200;" (if "if") (parenthesized_expression "(cVar5 != '\0')" (( "(") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00247200;" (goto "goto") (statement_identifier "LAB_00247200") (; ";"))) (} "}")))) (expression_statement "lVar9 = lVar9 + 1;" (assignment_expression "lVar9 = lVar9 + 1" (identifier "lVar9") (= "=") (binary_expression "lVar9 + 1" (identifier "lVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar8 = puVar8 + 3;" (assignment_expression "puVar8 = puVar8 + 3" (identifier "puVar8") (= "=") (binary_expression "puVar8 + 3" (identifier "puVar8") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar3 != lVar9)" (( "(") (binary_expression "lVar3 != lVar9" (identifier "lVar3") (!= "!=") (identifier "lVar9")) () ")")) (; ";")) (goto_statement "goto LAB_002472d6;" (goto "goto") (statement_identifier "LAB_002472d6") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_002472df:\n          FUN_0017a780(lVar9);" (statement_identifier "LAB_002472df") (: ":") (expression_statement "FUN_0017a780(lVar9);" (call_expression "FUN_0017a780(lVar9)" (identifier "FUN_0017a780") (argument_list "(lVar9)" (( "(") (identifier "lVar9") () ")"))) (; ";"))) (expression_statement "thunk_FUN_002dac70(lVar9,0x18);" (call_expression "thunk_FUN_002dac70(lVar9,0x18)" (identifier "thunk_FUN_002dac70") (argument_list "(lVar9,0x18)" (( "(") (identifier "lVar9") (, ",") (number_literal "0x18") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" (else "else") (compound_statement "{\n          if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);\n          if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));\n          (**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);\nLAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);\n          if (lVar9 != 0) goto LAB_002472df;\n        }" ({ "{") (if_statement "if (*(uint *)(param_1 + 7) <= *local_40[0]) {\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }" (if "if") (parenthesized_expression "(*(uint *)(param_1 + 7) <= *local_40[0])" (( "(") (binary_expression "*(uint *)(param_1 + 7) <= *local_40[0]" (pointer_expression "*(uint *)(param_1 + 7)" (* "*") (cast_expression "(uint *)(param_1 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 7)" (( "(") (binary_expression "param_1 + 7" (identifier "param_1") (+ "+") (number_literal "7")) () ")")))) (<= "<=") (pointer_expression "*local_40[0]" (* "*") (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")))) () ")")) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");\n          }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x549,"relocatable_relocs")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x549") (, ",") (string_literal ""relocatable_relocs"" (" """) (string_content "relocatable_relocs") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);" (assignment_expression "lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" (* "*") (cast_expression "(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8)" (( "(") (binary_expression "*(long *)param_1[0xd] + (ulong)*local_40[0] * 8" (pointer_expression "*(long *)param_1[0xd]" (* "*") (cast_expression "(long *)param_1[0xd]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xd]" (identifier "param_1") ([ "[") (number_literal "0xd") (] "]")))) (+ "+") (binary_expression "(ulong)*local_40[0] * 8" (binary_expression "(ulong)*local_40[0]" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (lVar9 == 0) {\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" (if "if") (parenthesized_expression "(lVar9 == 0)" (( "(") (binary_expression "lVar9 == 0" (identifier "lVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" ({ "{") (expression_statement "FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" (identifier "FUN_0017c650") (argument_list "("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" (( "(") (string_literal ""../../gold/reloc.cc"" (" """) (string_content "../../gold/reloc.cc") (" """)) (, ",") (number_literal "0x1dc") (, ",") (string_literal ""do_scan_relocs"" (" """) (string_content "do_scan_relocs") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));" (call_expression "FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6))" (identifier "FUN_00245b50") (argument_list "(lVar9,*(undefined8 *)(local_40[0] + 6))" (( "(") (identifier "lVar9") (, ",") (pointer_expression "*(undefined8 *)(local_40[0] + 6)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 6)" (( "(") (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "6")) () ")")))) () ")"))) (; ";")) (expression_statement "(**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);" (call_expression "(**(code **)(*plVar2 + 0x178))\n                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9)" (parenthesized_expression "(**(code **)(*plVar2 + 0x178))" (( "(") (pointer_expression "**(code **)(*plVar2 + 0x178)" (* "*") (pointer_expression "*(code **)(*plVar2 + 0x178)" (* "*") (cast_expression "(code **)(*plVar2 + 0x178)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar2 + 0x178)" (( "(") (binary_expression "*plVar2 + 0x178" (pointer_expression "*plVar2" (* "*") (identifier "plVar2")) (+ "+") (number_literal "0x178")) () ")"))))) () ")")) (argument_list "(plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],\n                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),\n                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),\n                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9)" (( "(") (identifier "plVar2") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (subscript_expression "local_40[0][1]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "local_40[0][4]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (, ",") (pointer_expression "*(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" (* "*") (cast_expression "(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(local_40[0] + 2) + 0x10)" (( "(") (binary_expression "*(long *)(local_40[0] + 2) + 0x10" (pointer_expression "*(long *)(local_40[0] + 2)" (* "*") (cast_expression "(long *)(local_40[0] + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 2)" (( "(") (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "2")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined8 *)(local_40[0] + 6)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 6)" (( "(") (binary_expression "local_40[0] + 6" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "6")) () ")")))) (, ",") (pointer_expression "*(undefined8 *)(local_40[0] + 8)" (* "*") (cast_expression "(undefined8 *)(local_40[0] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 8)" (( "(") (binary_expression "local_40[0] + 8" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (cast_expression "(char)local_40[0][10]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_40[0][10]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "10") (] "]"))) (, ",") (cast_expression "(int)param_1[0x24]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[0x24]" (identifier "param_1") ([ "[") (number_literal "0x24") (] "]"))) (, ",") (identifier "local_60") (, ",") (identifier "lVar9") () ")"))) (; ";")) (labeled_statement "LAB_002472d6:\n          lVar9 = *(long *)(local_40[0] + 2);" (statement_identifier "LAB_002472d6") (: ":") (expression_statement "lVar9 = *(long *)(local_40[0] + 2);" (assignment_expression "lVar9 = *(long *)(local_40[0] + 2)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(local_40[0] + 2)" (* "*") (cast_expression "(long *)(local_40[0] + 2)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40[0] + 2)" (( "(") (binary_expression "local_40[0] + 2" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "2")) () ")"))))) (; ";"))) (if_statement "if (lVar9 != 0) goto LAB_002472df;" (if "if") (parenthesized_expression "(lVar9 != 0)" (( "(") (binary_expression "lVar9 != 0" (identifier "lVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002472df;" (goto "goto") (statement_identifier "LAB_002472df") (; ";"))) (} "}")))) (expression_statement "local_40[0][2] = 0;" (assignment_expression "local_40[0][2] = 0" (subscript_expression "local_40[0][2]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_40[0][3] = 0;" (assignment_expression "local_40[0][3] = 0" (subscript_expression "local_40[0][3]" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "local_40[0] = local_40[0] + 0xc;" (assignment_expression "local_40[0] = local_40[0] + 0xc" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_40[0] + 0xc" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "0xc"))) (; ";")) (if_statement "if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;" (if "if") (parenthesized_expression "((uint *)param_4[1] == local_40[0])" (( "(") (binary_expression "(uint *)param_4[1] == local_40[0]" (cast_expression "(uint *)param_4[1]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]"))) (== "==") (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]"))) () ")")) (goto_statement "goto LAB_00247470;" (goto "goto") (statement_identifier "LAB_00247470") (; ";"))) (expression_statement "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);" (assignment_expression "lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10)" (identifier "lVar9") (= "=") (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(lVar9 != 0)" (( "(") (binary_expression "lVar9 != 0" (identifier "lVar9") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_scan_relocs(Sized_relobj_file<64,_true> * this, Symbol_table *
   symtab, Layout * layout, Read_relocs_data * rd) */

void __thiscall
var_25::Sized_relobj_file<64,_true>::do_scan_relocs
          (Sized_relobj_file<64,_true> *this,type_6 *symtab,Layout *layout,
          Read_relocs_data *rd)

{
  type_9 *var_1;
  size_t var_23;
  type_1 *var_27;
  bool bVar3;
  int iVar4;
  type_2 var_17;
  type_3 extraout_var;
  type_2 *var_18;
  type_3 extraout_var_00;
  type_3 extraout_var_01;
  type_4 *var_12;
  type_5 var_16;
  type_5 *var_21;
  type_6 *pSVar10;
  type_6 *var_15;
  type_6 *var_22;
  size_t var_24;
  type_7 *var_10;
  type_7 *var_3;
  type_8 p;
  
  var_1 = parameters->target_;
  if (var_1 == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("../../gold/parameters.h",0x73,"sized_target");
  }
  var_3 = rd->local_symbols;
  if (var_3 != (type_7 *)0x0) {
    var_3 = (type_7 *)var_3->data_;
  }
  pSVar10 = symtab;
  if (layout->incremental_inputs_ != (type_10 *)0x0) {
    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object._vptr_Object[0x1d])
                      (this);
    var_16 = (((long *)var_4(extraout_var,iVar4))[1] - *(long *)var_4(extraout_var,iVar4) >> 3
            & 0xffffffffU) << 2;
    var_18 = (type_2 *)var_5(var_16);
    pSVar10 = (type_6 *)0x0;
    (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_ = var_18;
    var_6(var_18,0,var_16);
  }
  p._M_current = (rd->relocs).
                 super__Vector_base<var_25::var_7,_std::allocator<var_25::var_7>var_8>.
                 _M_impl._M_start;
  if (p._M_current ==
      (rd->relocs).super__Vector_base<var_25::var_7,var_26::allocator<var_25::var_7>var_8>.
      _M_impl._M_finish) {
LAB_00247470:
    iVar4 = (int)pSVar10;
    if (layout->incremental_inputs_ != (type_10 *)0x0) {
      Relobj::var_9((type_11 *)this,layout,true);
      iVar4 = (int)layout;
    }
    var_10 = rd->local_symbols;
    if (var_10 != (type_7 *)0x0) {
      File_view::~type_7(var_10,iVar4);
      var_11(var_10,0x18);
      rd->local_symbols = (type_7 *)0x0;
    }
    return;
  }
  var_12 = parameters->options_;
  if (var_12 != (type_4 *)0x0) {
    do {
      if ((((var_12->gc_sections_).value == false) &&
          (pSVar10 = (type_6 *)(type_5)var_12->icf_status_, var_12->icf_status_ == var_13))
         || ((p._M_current)->output_section != (type_12 *)0x0)) {
        if ((var_12->relocatable_).value == false) {
          if ((p._M_current)->is_data_section_allocated != false) {
            pSVar10 = symtab;
            (**(type_13 **)(*(long *)var_1 + 0x168))
                      (var_1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,
                       (p._M_current)->contents->data_,(p._M_current)->reloc_count,
                       (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,
                       this->local_symbol_count_,var_3);
          }
          if (parameters->options_ == (type_4 *)0x0) break;
          if ((parameters->options_->emit_relocs_).value != false) {
            pSVar10 = symtab;
            var_14(this,symtab,layout,(type_14 *)var_3,&p);
          }
          if (layout->incremental_inputs_ == (type_10 *)0x0) goto LAB_002472d6;
          if ((p._M_current)->sh_type == 9) {
            var_10 = (p._M_current)->contents;
            var_15 = (type_6 *)(p._M_current)->reloc_count;
            var_21 = (type_5 *)var_10->data_;
            if (var_15 != (type_6 *)0x0) {
              var_22 = (type_6 *)0x0;
              pSVar10 = var_15;
              do {
                if ((p._M_current)->needs_special_offset_handling == false) {
LAB_002473e0:
                  var_16 = var_21[1];
                  var_17 = (type_2)(var_16 >> 0x18) & 0xff | (type_2)(var_16 >> 8) & 0xff00 |
                          (type_2)(((var_16 & 0xff00) << 0x28) >> 0x20) |
                          (type_2)((var_16 << 0x38) >> 0x20);
                  if (this->local_symbol_count_ <= var_17) {
                    var_17 = var_17 - this->local_symbol_count_;
                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                              _vptr_Object[0x1d])(this);
                    if ((type_2)(((long *)var_4(extraout_var_01,iVar4))[1] -
                               *(long *)var_4(extraout_var_01,iVar4) >> 3) <= var_17)
                    goto LAB_0024750d;
                    var_18 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;
                    if (var_18 == (type_2 *)0x0) goto LAB_002474f5;
                    var_18 = var_18 + var_17;
                    *var_18 = *var_18 + 1;
                  }
                }
                else {
                  var_16 = *var_21;
                  pSVar10 = (type_6 *)this;
                  bVar3 = type_12::var_19
                                    ((p._M_current)->output_section,(type_11 *)this,
                                     (p._M_current)->data_shndx,
                                     var_16 >> 0x38 | (var_16 & 0xff000000000000) >> 0x28 |
                                     (var_16 & 0xff0000000000) >> 0x18 | (var_16 & 0xff00000000) >> 8
                                     | (var_16 & 0xff000000) << 8 | (var_16 & 0xff0000) << 0x18 |
                                     (var_16 & 0xff00) << 0x28 | var_16 << 0x38);
                  if (bVar3) goto LAB_002473e0;
                }
                var_22 = (type_6 *)
                          ((long)&(((Relocs_list *)&var_22->saw_undefined_)->
                                  super__Vector_base<var_25::var_7,var_26::allocator<var_25::var_7>var_8>var_20
                                  )._M_impl._M_start + 1);
                var_21 = var_21 + 2;
              } while (var_15 != var_22);
              goto LAB_002472d6;
            }
          }
          else {
            if ((p._M_current)->sh_type != 4) {
                    /* WARNING: Subroutine does not return */
              var_2("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            var_10 = (p._M_current)->contents;
            var_23 = (p._M_current)->reloc_count;
            var_21 = (type_5 *)var_10->data_;
            var_15 = pSVar10;
            if (var_23 != 0) {
              var_24 = 0;
              do {
                if ((p._M_current)->needs_special_offset_handling == false) {
LAB_00247200:
                  var_16 = var_21[1];
                  var_17 = (type_2)(var_16 >> 0x18) & 0xff | (type_2)(var_16 >> 8) & 0xff00 |
                          (type_2)(((var_16 & 0xff00) << 0x28) >> 0x20) |
                          (type_2)((var_16 << 0x38) >> 0x20);
                  if (this->local_symbol_count_ <= var_17) {
                    var_17 = var_17 - this->local_symbol_count_;
                    iVar4 = (*(this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.
                              _vptr_Object[0x1d])(this);
                    if ((type_2)(((long *)var_4(extraout_var_00,iVar4))[1] -
                               *(long *)var_4(extraout_var_00,iVar4) >> 3) <= var_17) {
LAB_0024750d:
                    /* WARNING: Subroutine does not return */
                      var_2("../../gold/object.h",0x5f3,"count_incremental_reloc");
                    }
                    var_18 = (this->super_Sized_relobj<64,_true>).super_Relobj.reloc_counts_;
                    if (var_18 == (type_2 *)0x0) {
LAB_002474f5:
                    /* WARNING: Subroutine does not return */
                      var_2("../../gold/object.h",0x5f4,"count_incremental_reloc");
                    }
                    var_18 = var_18 + var_17;
                    *var_18 = *var_18 + 1;
                  }
                }
                else {
                  var_16 = *var_21;
                  pSVar10 = (type_6 *)this;
                  bVar3 = type_12::var_19
                                    ((p._M_current)->output_section,(type_11 *)this,
                                     (p._M_current)->data_shndx,
                                     var_16 >> 0x38 | (var_16 & 0xff000000000000) >> 0x28 |
                                     (var_16 & 0xff0000000000) >> 0x18 | (var_16 & 0xff00000000) >> 8
                                     | (var_16 & 0xff000000) << 8 | (var_16 & 0xff0000) << 0x18 |
                                     (var_16 & 0xff00) << 0x28 | var_16 << 0x38);
                  if (bVar3) goto LAB_00247200;
                }
                var_24 = var_24 + 1;
                var_21 = var_21 + 3;
              } while (var_23 != var_24);
              goto LAB_002472d6;
            }
          }
LAB_002472df:
          File_view::~type_7(var_10,(int)var_15);
          var_11(var_10,0x18);
        }
        else {
          if ((this->super_Sized_relobj<64,_true>).super_Relobj.super_Object.shnum_ <=
              (p._M_current)->reloc_shndx) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gold/object.h",0x549,"relocatable_relocs");
          }
          var_27 = (((this->super_Sized_relobj<64,_true>).super_Relobj.map_to_relocatable_relocs_)
                    ->
                    super__Vector_base<var_25::type_1*,var_26::allocator<var_25::type_1*>var_8>var_20
                    )._M_impl._M_start[(p._M_current)->reloc_shndx];
          if (var_27 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          std::vector<unsigned_char,var_26::allocator<unsigned_char>var_8>::var_28
                    (&var_27->reloc_strategies_,(p._M_current)->reloc_count);
          pSVar10 = symtab;
          (**(type_13 **)(*(long *)var_1 + 0x178))
                    (var_1,symtab,layout,this,(p._M_current)->data_shndx,(p._M_current)->sh_type,
                     (p._M_current)->contents->data_,(p._M_current)->reloc_count,
                     (p._M_current)->output_section,(p._M_current)->needs_special_offset_handling,
                     this->local_symbol_count_,var_3,var_27);
LAB_002472d6:
          var_10 = (p._M_current)->contents;
          var_15 = pSVar10;
          if (var_10 != (type_7 *)0x0) goto LAB_002472df;
        }
        (p._M_current)->contents = (type_7 *)0x0;
      }
      p._M_current = p._M_current + 1;
      pSVar10 = (type_6 *)rd;
      if ((rd->relocs).
          super__Vector_base<var_25::var_7,var_26::allocator<var_25::var_7>var_8>._M_impl.
          _M_finish == p._M_current) goto LAB_00247470;
      var_12 = parameters->options_;
    } while (var_12 != (type_4 *)0x0);
  }
                    /* WARNING: Subroutine does not return */
  var_2("../../gold/parameters.h",0x5c,"options");
}


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

void MASKED(long *param_1,undefined8 param_2,long param_3,undefined8 *param_4)

{
  int *piVar1;
  long *plVar2;
  long lVar3;
  ulong uVar4;
  char cVar5;
  uint uVar6;
  long *plVar7;
  void *__s;
  size_t __n;
  ulong *puVar8;
  long lVar9;
  long local_60;
  uint *local_40 [2];
  
  plVar2 = *(long **)(PTR_DAT_0043e6b0 + 0x18);
  if (plVar2 == (long *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x73,"sized_target");
  }
  local_60 = param_4[3];
  if (local_60 != 0) {
    local_60 = *(long *)(local_60 + 0x10);
  }
  if (*(long *)(param_3 + 0x378) != 0) {
    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);
    __n = (plVar7[1] - *plVar7 >> 3 & 0xffffffffU) << 2;
    __s = (void *)thunk_FUN_002d94a0(__n);
    param_1[0x12] = (long)__s;
    memset(__s,0,__n);
  }
  local_40[0] = (uint *)*param_4;
  if (local_40[0] == (uint *)param_4[1]) {
LAB_00247470:
    if (*(long *)(param_3 + 0x378) != 0) {
      FUN_001bd780(param_1,param_3,1);
    }
    lVar9 = param_4[3];
    if (lVar9 != 0) {
      FUN_0017a780(lVar9);
      thunk_FUN_002dac70(lVar9,0x18);
      param_4[3] = 0;
    }
    return;
  }
  lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
  if (lVar9 != 0) {
    do {
      if (((*(char *)(lVar9 + 0x2809) == '\0') && (*(int *)(lVar9 + 0x9050) == 0)) ||
         (*(long *)(local_40[0] + 8) != 0)) {
        if (*(char *)(lVar9 + 0x5051) == '\0') {
          if (*(char *)((long)local_40[0] + 0x29) != '\0') {
            (**(code **)(*plVar2 + 0x168))
                      (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],
                       *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),
                       *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),
                       (char)local_40[0][10],(int)param_1[0x24],local_60);
          }
          if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) break;
          if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x4ec1) != '\0') {
            FUN_00246f50(param_1,param_2,param_3,local_60,local_40);
          }
          if (*(long *)(param_3 + 0x378) == 0) goto LAB_002472d6;
          if (local_40[0][4] == 9) {
            lVar9 = *(long *)(local_40[0] + 2);
            lVar3 = *(long *)(local_40[0] + 6);
            puVar8 = *(ulong **)(lVar9 + 0x10);
            if (lVar3 != 0) {
              lVar9 = 0;
              do {
                if ((char)local_40[0][10] == '\0') {
LAB_002473e0:
                  uVar4 = puVar8[1];
                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |
                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |
                          (uint)((uVar4 << 0x38) >> 0x20);
                  if (*(uint *)(param_1 + 0x24) <= uVar6) {
                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);
                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);
                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) goto LAB_0024750d;
                    if (param_1[0x12] == 0) goto LAB_002474f5;
                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);
                    *piVar1 = *piVar1 + 1;
                  }
                }
                else {
                  uVar4 = *puVar8;
                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],
                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |
                                       (uVar4 & 0xff0000000000) >> 0x18 |
                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |
                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                                       uVar4 << 0x38);
                  if (cVar5 != '\0') goto LAB_002473e0;
                }
                lVar9 = lVar9 + 1;
                puVar8 = puVar8 + 2;
              } while (lVar3 != lVar9);
              goto LAB_002472d6;
            }
          }
          else {
            if (local_40[0][4] != 4) {
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            lVar9 = *(long *)(local_40[0] + 2);
            lVar3 = *(long *)(local_40[0] + 6);
            puVar8 = *(ulong **)(lVar9 + 0x10);
            if (lVar3 != 0) {
              lVar9 = 0;
              do {
                if ((char)local_40[0][10] == '\0') {
LAB_00247200:
                  uVar4 = puVar8[1];
                  uVar6 = (uint)(uVar4 >> 0x18) & 0xff | (uint)(uVar4 >> 8) & 0xff00 |
                          (uint)(((uVar4 & 0xff00) << 0x28) >> 0x20) |
                          (uint)((uVar4 << 0x38) >> 0x20);
                  if (*(uint *)(param_1 + 0x24) <= uVar6) {
                    uVar6 = uVar6 - *(uint *)(param_1 + 0x24);
                    plVar7 = (long *)(**(code **)(*param_1 + 0xe8))(param_1);
                    if ((uint)(plVar7[1] - *plVar7 >> 3) <= uVar6) {
LAB_0024750d:
                    /* WARNING: Subroutine does not return */
                      FUN_0017c650("../../gold/object.h",0x5f3,"count_incremental_reloc");
                    }
                    if (param_1[0x12] == 0) {
LAB_002474f5:
                    /* WARNING: Subroutine does not return */
                      FUN_0017c650("../../gold/object.h",0x5f4,"count_incremental_reloc");
                    }
                    piVar1 = (int *)(param_1[0x12] + (ulong)uVar6 * 4);
                    *piVar1 = *piVar1 + 1;
                  }
                }
                else {
                  uVar4 = *puVar8;
                  cVar5 = FUN_001fbc30(*(undefined8 *)(local_40[0] + 8),param_1,local_40[0][1],
                                       uVar4 >> 0x38 | (uVar4 & 0xff000000000000) >> 0x28 |
                                       (uVar4 & 0xff0000000000) >> 0x18 |
                                       (uVar4 & 0xff00000000) >> 8 | (uVar4 & 0xff000000) << 8 |
                                       (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                                       uVar4 << 0x38);
                  if (cVar5 != '\0') goto LAB_00247200;
                }
                lVar9 = lVar9 + 1;
                puVar8 = puVar8 + 3;
              } while (lVar3 != lVar9);
              goto LAB_002472d6;
            }
          }
LAB_002472df:
          FUN_0017a780(lVar9);
          thunk_FUN_002dac70(lVar9,0x18);
        }
        else {
          if (*(uint *)(param_1 + 7) <= *local_40[0]) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/object.h",0x549,"relocatable_relocs");
          }
          lVar9 = *(long *)(*(long *)param_1[0xd] + (ulong)*local_40[0] * 8);
          if (lVar9 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          FUN_00245b50(lVar9,*(undefined8 *)(local_40[0] + 6));
          (**(code **)(*plVar2 + 0x178))
                    (plVar2,param_2,param_3,param_1,local_40[0][1],local_40[0][4],
                     *(undefined8 *)(*(long *)(local_40[0] + 2) + 0x10),
                     *(undefined8 *)(local_40[0] + 6),*(undefined8 *)(local_40[0] + 8),
                     (char)local_40[0][10],(int)param_1[0x24],local_60,lVar9);
LAB_002472d6:
          lVar9 = *(long *)(local_40[0] + 2);
          if (lVar9 != 0) goto LAB_002472df;
        }
        local_40[0][2] = 0;
        local_40[0][3] = 0;
      }
      local_40[0] = local_40[0] + 0xc;
      if ((uint *)param_4[1] == local_40[0]) goto LAB_00247470;
      lVar9 = *(long *)(PTR_DAT_0043e6b0 + 0x10);
    } while (lVar9 != 0);
  }
                    /* WARNING: Subroutine does not return */
  FUN_0017c650("../../gold/parameters.h",0x5c,"options");
}

