
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_scan_relocs(Sized_relobj_file<32,_false> * this, Symbol_table *
   symtab, Layout * layout, Read_relocs_data * rd) */

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

{
  Target *pTVar1;
  size_t sVar2;
  uint *puVar3;
  Relocatable_relocs *this_00;
  uchar *puVar4;
  bool bVar5;
  int *piVar6;
  uint *puVar7;
  uint uVar8;
  General_options *pGVar9;
  File_view *pFVar10;
  size_t sVar11;
  uint uVar12;
  Layout *in_stack_ffffffa8;
  File_view *local_38;
  iterator p;
  
  pTVar1 = parameters->target_;
  if (pTVar1 == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x73,"sized_target");
  }
  local_38 = rd->local_symbols;
  if (local_38 != (File_view *)0x0) {
    local_38 = (File_view *)local_38->data_;
  }
  if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {
    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object
                      [0x1d])(this);
    uVar12 = piVar6[1] - *piVar6;
    if ((int)uVar12 < 0) {
                    /* WARNING: Subroutine does not return */
      __cxa_throw_bad_array_new_length();
    }
    puVar7 = (uint *)operator_new__(uVar12);
    (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = puVar7;
    in_stack_ffffffa8 = (Layout *)0x0;
    memset(puVar7,0,uVar12);
  }
  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_000fce30:
    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {
      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);
      in_stack_ffffffa8 = layout;
    }
    pFVar10 = rd->local_symbols;
    if (pFVar10 != (File_view *)0x0) {
      File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);
      operator_delete(pFVar10,0xc);
      rd->local_symbols = (File_view *)0x0;
    }
    return;
  }
  pGVar9 = parameters->options_;
  if (pGVar9 != (General_options *)0x0) {
    do {
      if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||
         ((p._M_current)->output_section != (Output_section *)0x0)) {
        if ((pGVar9->relocatable_).value == false) {
          if ((p._M_current)->is_data_section_allocated != false) {
            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;
            (**(code **)(*(int *)pTVar1 + 0xac))
                      (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,in_stack_ffffffa8,this->local_symbol_count_,
                       local_38);
          }
          if (parameters->options_ == (General_options *)0x0) break;
          if ((parameters->options_->emit_relocs_).value != false) {
            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);
          }
          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;
          if ((p._M_current)->sh_type == 9) {
            pFVar10 = (p._M_current)->contents;
            sVar2 = (p._M_current)->reloc_count;
            puVar4 = pFVar10->data_;
            if (sVar2 != 0) {
              sVar11 = 0;
              do {
                if (((p._M_current)->needs_special_offset_handling == false) ||
                   (bVar5 = Output_section::is_input_address_mapped
                                      ((p._M_current)->output_section,(Relobj *)this,
                                       (p._M_current)->data_shndx,
                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {
                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;
                  if (this->local_symbol_count_ <= uVar12) {
                    uVar12 = uVar12 - this->local_symbol_count_;
                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.
                                      super_Object._vptr_Object[0x1d])(this);
                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;
                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;
                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;
                    puVar7 = puVar7 + uVar12;
                    *puVar7 = *puVar7 + 1;
                  }
                }
                sVar11 = sVar11 + 1;
              } while (sVar2 != sVar11);
              goto LAB_000fccf0;
            }
          }
          else {
            if ((p._M_current)->sh_type != 4) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            pFVar10 = (p._M_current)->contents;
            sVar2 = (p._M_current)->reloc_count;
            puVar7 = (uint *)pFVar10->data_;
            if (sVar2 != 0) {
              sVar11 = 0;
              do {
                while ((p._M_current)->needs_special_offset_handling != false) {
                  bVar5 = Output_section::is_input_address_mapped
                                    ((p._M_current)->output_section,(Relobj *)this,
                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);
                  if (bVar5) {
                    uVar12 = this->local_symbol_count_;
                    uVar8 = puVar7[1] >> 8;
                    if (uVar12 <= uVar8) goto LAB_000fcca6;
                  }
LAB_000fcc60:
                  sVar11 = sVar11 + 1;
                  puVar7 = puVar7 + 3;
                  if (sVar2 == sVar11) goto LAB_000fccf0;
                }
                uVar12 = this->local_symbol_count_;
                uVar8 = puVar7[1] >> 8;
                if (uVar8 < uVar12) goto LAB_000fcc60;
LAB_000fcca6:
                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                                  _vptr_Object[0x1d])(this);
                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {
LAB_000fcf87:
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");
                }
                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;
                if (puVar3 == (uint *)0x0) {
LAB_000fcf68:
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");
                }
                puVar3 = puVar3 + (uVar8 - uVar12);
                *puVar3 = *puVar3 + 1;
                sVar11 = sVar11 + 1;
                puVar7 = puVar7 + 3;
              } while (sVar2 != sVar11);
              goto LAB_000fccf0;
            }
          }
LAB_000fccf7:
          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);
          in_stack_ffffffa8 = (Layout *)0xc;
          operator_delete(pFVar10,0xc);
        }
        else {
          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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");
          }
          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;
          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve
                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);
          (**(code **)(*(int *)pTVar1 + 0xb4))
                    (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_38,this_00);
LAB_000fccf0:
          pFVar10 = (p._M_current)->contents;
          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;
        }
        (p._M_current)->contents = (File_view *)0x0;
        p._M_current = p._M_current + 1;
        if ((rd->relocs).
            super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.
            _M_finish == p._M_current) goto LAB_000fce30;
      }
      else {
        p._M_current = p._M_current + 1;
        if ((rd->relocs).
            super__Vector_base<gold::Section_relocs,_std::allocator<gold::Section_relocs>_>._M_impl.
            _M_finish == p._M_current) goto LAB_000fce30;
      }
      pGVar9 = parameters->options_;
    } while (pGVar9 != (General_options *)0x0);
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
}



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

void FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)

{
  int *piVar1;
  uint uVar2;
  char cVar3;
  int *piVar4;
  void *__s;
  uint uVar5;
  uint uVar6;
  int iVar7;
  uint uVar8;
  size_t __n;
  undefined4 *puVar9;
  int local_38;
  uint *local_20 [4];
  
  piVar1 = *(int **)(DAT_00302378 + 0xc);
  if (piVar1 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);
  }
  local_38 = param_4[3];
  if (local_38 != 0) {
    local_38 = *(int *)(local_38 + 8);
  }
  if (*(int *)(param_3 + 0x1d0) != 0) {
    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
    __n = piVar4[1] - *piVar4;
    if ((int)__n < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00180130();
    }
    __s = (void *)FUN_0017eb70(__n);
    param_1[0x16] = (int)__s;
    memset(__s,0,__n);
  }
  local_20[0] = (uint *)*param_4;
  if (local_20[0] == (uint *)param_4[1]) {
LAB_000fce30:
    if (*(int *)(param_3 + 0x1d0) != 0) {
      FUN_00091f40(param_1,param_3,1);
    }
    iVar7 = param_4[3];
    if (iVar7 != 0) {
      FUN_0005cea0(iVar7);
      FUN_00180780(iVar7,0xc);
      param_4[3] = 0;
    }
    return;
  }
  iVar7 = *(int *)(DAT_00302378 + 8);
  if (iVar7 != 0) {
    do {
      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||
         (local_20[0][5] != 0)) {
        if (*(char *)(iVar7 + 0x318d) == '\0') {
          if (*(char *)((int)local_20[0] + 0x19) != '\0') {
            (**(code **)(*piVar1 + 0xac))
                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],
                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],
                       (char)local_20[0][6],param_1[0x2c],local_38);
          }
          if (*(int *)(DAT_00302378 + 8) == 0) break;
          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {
            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);
          }
          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;
          if (local_20[0][3] == 9) {
            uVar8 = local_20[0][2];
            uVar2 = local_20[0][4];
            iVar7 = *(int *)(uVar8 + 8);
            if (uVar2 != 0) {
              uVar8 = 0;
              do {
                if (((char)local_20[0][6] == '\0') ||
                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],
                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {
                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;
                  if ((uint)param_1[0x2c] <= uVar6) {
                    uVar6 = uVar6 - param_1[0x2c];
                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;
                    if (param_1[0x16] == 0) goto LAB_000fcf68;
                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);
                    *piVar4 = *piVar4 + 1;
                  }
                }
                uVar8 = uVar8 + 1;
              } while (uVar2 != uVar8);
              goto LAB_000fccf0;
            }
          }
          else {
            if (local_20[0][3] != 4) {
                    /* WARNING: Subroutine does not return */
              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            uVar8 = local_20[0][2];
            uVar2 = local_20[0][4];
            puVar9 = *(undefined4 **)(uVar8 + 8);
            if (uVar2 != 0) {
              uVar8 = 0;
              do {
                while ((char)local_20[0][6] != '\0') {
                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);
                  if (cVar3 != '\0') {
                    uVar6 = param_1[0x2c];
                    uVar5 = (uint)puVar9[1] >> 8;
                    if (uVar6 <= uVar5) goto LAB_000fcca6;
                  }
LAB_000fcc60:
                  uVar8 = uVar8 + 1;
                  puVar9 = puVar9 + 3;
                  if (uVar2 == uVar8) goto LAB_000fccf0;
                }
                uVar6 = param_1[0x2c];
                uVar5 = (uint)puVar9[1] >> 8;
                if (uVar5 < uVar6) goto LAB_000fcc60;
LAB_000fcca6:
                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {
LAB_000fcf87:
                    /* WARNING: Subroutine does not return */
                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");
                }
                if (param_1[0x16] == 0) {
LAB_000fcf68:
                    /* WARNING: Subroutine does not return */
                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");
                }
                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);
                *piVar4 = *piVar4 + 1;
                uVar8 = uVar8 + 1;
                puVar9 = puVar9 + 3;
              } while (uVar2 != uVar8);
              goto LAB_000fccf0;
            }
          }
LAB_000fccf7:
          FUN_0005cea0(uVar8);
          FUN_00180780(uVar8,0xc);
        }
        else {
          if ((uint)param_1[10] <= *local_20[0]) {
                    /* WARNING: Subroutine does not return */
            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");
          }
          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);
          if (iVar7 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          FUN_000fc7e0(iVar7,local_20[0][4]);
          (**(code **)(*piVar1 + 0xb4))
                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],
                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],
                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);
LAB_000fccf0:
          uVar8 = local_20[0][2];
          if (uVar8 != 0) goto LAB_000fccf7;
        }
        local_20[0][2] = 0;
        local_20[0] = local_20[0] + 7;
        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;
      }
      else {
        local_20[0] = local_20[0] + 7;
        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;
      }
      iVar7 = *(int *)(DAT_00302378 + 8);
    } while (iVar7 != 0);
  }
                    /* WARNING: Subroutine does not return */
  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");
}


CALL 0x0004fb76
ADD EAX,0x20554b
PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x3c
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EAX + 0x378]
MOV EBP,dword ptr [ESP + 0x50]
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x18],EAX
TEST EAX,EAX
JZ 0x000fcfc5
MOV EAX,dword ptr [ESP + 0x5c]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JZ 0x000fcafa
MOV EAX,dword ptr [EAX + 0x8]
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,dword ptr [ESP + 0x58]
MOV EDI,dword ptr [EAX + 0x1d0]
TEST EDI,EDI
JZ 0x000fcb41
SUB ESP,0xc
MOV EAX,dword ptr [EBP]
PUSH EBP
CALL dword ptr [EAX + 0x74]
MOV ESI,dword ptr [EAX + 0x4]
ADD ESP,0x10
SUB ESI,dword ptr [EAX]
JS 0x000fcfdf
SUB ESP,0xc
PUSH ESI
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x0017eb70
ADD ESP,0xc
MOV dword ptr [EBP + 0x58],EAX
PUSH ESI
PUSH 0x0
PUSH EAX
CALL 0x000262f0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x5c]
MOV ECX,dword ptr [EAX]
MOV dword ptr [ESP + 0x2c],ECX
CMP ECX,dword ptr [EAX + 0x4]
JZ 0x000fce30
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000fcd4b
LEA EBX,[ESP + 0x2c]
MOV EDX,EAX
MOV EAX,ECX
MOV dword ptr [ESP + 0x1c],EBX
LEA ESI,[ESI]
CMP byte ptr [EDX + 0x18b1],0x0
JNZ 0x000fcb8b
MOV EBX,dword ptr [EDX + 0x5934]
TEST EBX,EBX
JZ 0x000fcb96
MOV ECX,dword ptr [EAX + 0x14]
TEST ECX,ECX
JZ 0x000fce18
CMP byte ptr [EDX + 0x318d],0x0
JNZ 0x000fcd70
CMP byte ptr [EAX + 0x19],0x0
JZ 0x000fcbe3
MOV EDI,dword ptr [ESP + 0x18]
MOVZX ECX,byte ptr [EAX + 0x18]
MOV EDX,dword ptr [EDI]
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [EBP + 0xb0]
PUSH ECX
MOV ECX,dword ptr [EAX + 0x8]
PUSH dword ptr [EAX + 0x14]
PUSH dword ptr [EAX + 0x10]
PUSH dword ptr [ECX + 0x8]
PUSH dword ptr [EAX + 0xc]
PUSH dword ptr [EAX + 0x4]
PUSH EBP
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x7c]
PUSH EDI
CALL dword ptr [EDX + 0xac]
ADD ESP,0x30
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000fcd4b
CMP byte ptr [EAX + 0x3095],0x0
JNZ 0x000fcdf0
MOV EBX,dword ptr [ESP + 0x58]
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDI,dword ptr [EBX + 0x1d0]
TEST EDI,EDI
JZ 0x000fccf0
MOV EDX,dword ptr [EAX + 0xc]
CMP EDX,0x9
JZ 0x000fce90
CMP EDX,0x4
JNZ 0x000fcfa6
MOV EDX,dword ptr [EAX + 0x8]
MOV EDI,dword ptr [EAX + 0x10]
MOV ESI,dword ptr [EDX + 0x8]
MOV dword ptr [ESP + 0xc],EDI
TEST EDI,EDI
JZ 0x000fccf7
XOR EDI,EDI
MOV dword ptr [ESP + 0x50],EBP
MOV EBP,EDI
MOV EDI,dword ptr [ESP + 0x50]
JMP 0x000fcc70
MOV EAX,dword ptr [ESI + 0x4]
MOV ECX,dword ptr [EDI + 0xb0]
SHR EAX,0x8
CMP EAX,ECX
JNC 0x000fcca6
ADD EBP,0x1
ADD ESI,0xc
MOV EAX,dword ptr [ESP + 0x2c]
CMP dword ptr [ESP + 0xc],EBP
JZ 0x000fcce5
CMP byte ptr [EAX + 0x18],0x0
JZ 0x000fcc50
MOV ECX,dword ptr [ESI]
SUB ESP,0xc
XOR EBX,EBX
PUSH EBX
PUSH ECX
PUSH dword ptr [EAX + 0x4]
PUSH EDI
PUSH dword ptr [EAX + 0x14]
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x000c2160
ADD ESP,0x20
TEST AL,AL
JZ 0x000fcc60
MOV EAX,dword ptr [ESI + 0x4]
MOV ECX,dword ptr [EDI + 0xb0]
SHR EAX,0x8
CMP EAX,ECX
JC 0x000fcc60
SUB EAX,ECX
SUB ESP,0xc
MOV EBX,EAX
MOV EAX,dword ptr [EDI]
PUSH EDI
CALL dword ptr [EAX + 0x74]
MOV ECX,dword ptr [EAX + 0x4]
SUB ECX,dword ptr [EAX]
ADD ESP,0x10
SAR ECX,0x2
CMP EBX,ECX
JNC 0x000fcf87
MOV EAX,dword ptr [EDI + 0x58]
TEST EAX,EAX
JZ 0x000fcf68
ADD dword ptr [EAX + EBX*0x4],0x1
ADD EBP,0x1
ADD ESI,0xc
MOV EAX,dword ptr [ESP + 0x2c]
CMP dword ptr [ESP + 0xc],EBP
JNZ 0x000fcc70
MOV EBP,EDI
LEA ESI,[ESI]
NOP
MOV EDX,dword ptr [EAX + 0x8]
TEST EDX,EDX
JZ 0x000fcd1f
SUB ESP,0xc
PUSH EDX
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x0005cea0
POP ECX
POP ESI
PUSH 0xc
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
CALL 0x00180780
MOV EAX,dword ptr [ESP + 0x3c]
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x5c]
MOV dword ptr [EAX + 0x8],0x0
ADD EAX,0x1c
MOV dword ptr [ESP + 0x2c],EAX
CMP dword ptr [EDI + 0x4],EAX
JZ 0x000fce30
MOV ESI,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESI]
MOV EDX,dword ptr [EDX + 0x8]
TEST EDX,EDX
JNZ 0x000fcb78
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2bf60]
PUSH EAX
LEA EAX,[EBX + 0xfff1e970]
PUSH 0x5c
PUSH EAX
CALL 0x0005f0b0
MOV EDX,dword ptr [EAX]
CMP EDX,dword ptr [EBP + 0x28]
JNC 0x000fcf49
MOV ECX,dword ptr [EBP + 0x44]
MOV ECX,dword ptr [ECX]
MOV EBX,dword ptr [ECX + EDX*0x4]
TEST EBX,EBX
JZ 0x000fcf2a
SUB ESP,0x8
PUSH dword ptr [EAX + 0x10]
PUSH EBX
CALL 0x000fc7e0
MOV EAX,dword ptr [ESP + 0x3c]
MOV ESI,dword ptr [ESP + 0x28]
MOVZX ECX,byte ptr [EAX + 0x18]
MOV EDX,dword ptr [ESI]
MOV dword ptr [ESP],EBX
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [EBP + 0xb0]
PUSH ECX
MOV ECX,dword ptr [EAX + 0x8]
PUSH dword ptr [EAX + 0x14]
PUSH dword ptr [EAX + 0x10]
PUSH dword ptr [ECX + 0x8]
PUSH dword ptr [EAX + 0xc]
PUSH dword ptr [EAX + 0x4]
PUSH EBP
PUSH dword ptr [ESP + 0x8c]
PUSH dword ptr [ESP + 0x8c]
PUSH ESI
CALL dword ptr [EDX + 0xb4]
MOV EAX,dword ptr [ESP + 0x6c]
ADD ESP,0x40
JMP 0x000fccf0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x28]
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x6c]
PUSH dword ptr [ESP + 0x6c]
PUSH EBP
CALL 0x000fc9d0
ADD ESP,0x20
JMP 0x000fcc01
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDI,dword ptr [ESP + 0x5c]
ADD EAX,0x1c
MOV dword ptr [ESP + 0x2c],EAX
CMP dword ptr [EDI + 0x4],EAX
JNZ 0x000fcd3a
MOV EAX,dword ptr [ESP + 0x58]
MOV ESI,dword ptr [EAX + 0x1d0]
TEST ESI,ESI
JZ 0x000fce54
SUB ESP,0x4
PUSH 0x1
PUSH dword ptr [ESP + 0x60]
PUSH EBP
MOV EBX,dword ptr [ESP + 0x20]
CALL 0x00091f40
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x5c]
MOV ESI,dword ptr [EAX + 0xc]
TEST ESI,ESI
JZ 0x000fce86
SUB ESP,0xc
PUSH ESI
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x0005cea0
POP EAX
POP EDX
PUSH 0xc
PUSH ESI
CALL 0x00180780
MOV EAX,dword ptr [ESP + 0x6c]
ADD ESP,0x10
MOV dword ptr [EAX + 0xc],0x0
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,dword ptr [EAX + 0x8]
MOV ESI,dword ptr [EAX + 0x10]
MOV EDI,dword ptr [EDX + 0x8]
MOV dword ptr [ESP + 0xc],ESI
TEST ESI,ESI
JZ 0x000fccf7
XOR ESI,ESI
JMP 0x000fced2
MOV EAX,dword ptr [EDI + ESI*0x8 + 0x4]
MOV ECX,dword ptr [EBP + 0xb0]
SHR EAX,0x8
CMP EAX,ECX
JNC 0x000fcf00
ADD ESI,0x1
MOV EAX,dword ptr [ESP + 0x2c]
CMP dword ptr [ESP + 0xc],ESI
JZ 0x000fccf0
CMP byte ptr [EAX + 0x18],0x0
JZ 0x000fceb0
MOV ECX,dword ptr [EDI + ESI*0x8]
SUB ESP,0xc
XOR EBX,EBX
PUSH EBX
PUSH ECX
PUSH dword ptr [EAX + 0x4]
PUSH EBP
PUSH dword ptr [EAX + 0x14]
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x000c2160
ADD ESP,0x20
TEST AL,AL
JNZ 0x000fceb0
JMP 0x000fcec1
SUB EAX,ECX
SUB ESP,0xc
MOV EBX,EAX
MOV EAX,dword ptr [EBP]
PUSH EBP
CALL dword ptr [EAX + 0x74]
MOV ECX,dword ptr [EAX + 0x4]
SUB ECX,dword ptr [EAX]
ADD ESP,0x10
SAR ECX,0x2
CMP EBX,ECX
JNC 0x000fcf87
MOV EAX,dword ptr [EBP + 0x58]
TEST EAX,EAX
JZ 0x000fcf68
ADD dword ptr [EAX + EBX*0x4],0x1
JMP 0x000fcec1
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2beec]
PUSH EAX
LEA EAX,[EBX + 0xfff2b6a7]
PUSH 0x1dc
PUSH EAX
CALL 0x0005f0b0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2be94]
PUSH EAX
LEA EAX,[EBX + 0xfff1801a]
PUSH 0x549
PUSH EAX
CALL 0x0005f0b0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2bea8]
PUSH EAX
LEA EAX,[EBX + 0xfff1801a]
PUSH 0x5f4
PUSH EAX
CALL 0x0005f0b0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2bea8]
PUSH EAX
LEA EAX,[EBX + 0xfff1801a]
PUSH 0x5f3
PUSH EAX
CALL 0x0005f0b0
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2bec0]
PUSH EAX
LEA EAX,[EBX + 0xfff2b6a7]
PUSH 0x222
PUSH EAX
CALL 0x0005f0b0
PUSH EBP
MOV EBX,dword ptr [ESP + 0x14]
LEA EAX,[EBX + 0xfff2bf0c]
PUSH EAX
LEA EAX,[EBX + 0xfff1e970]
PUSH 0x73
PUSH EAX
CALL 0x0005f0b0
MOV EBX,dword ptr [ESP + 0x10]
CALL 0x00180130
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment (function_definition "void FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "uint *local_20 [4];" type_identifier (pointer_declarator "*local_20 [4]" * (array_declarator "local_20 [4]" identifier [ number_literal ])) ;) (expression_statement "piVar1 = *(int **)(DAT_00302378 + 0xc);" (assignment_expression "piVar1 = *(int **)(DAT_00302378 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_00302378 + 0xc)" * (cast_expression "(int **)(DAT_00302378 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00302378 + 0xc)" ( (binary_expression "DAT_00302378 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }" { comment (expression_statement "FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);" (call_expression "FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1)" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target",param_1)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") , identifier ))) ;) })) (expression_statement "local_38 = param_4[3];" (assignment_expression "local_38 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }" if (parenthesized_expression "(local_38 != 0)" ( (binary_expression "local_38 != 0" identifier != number_literal) )) (compound_statement "{\n    local_38 = *(int *)(local_38 + 8);\n  }" { (expression_statement "local_38 = *(int *)(local_38 + 8);" (assignment_expression "local_38 = *(int *)(local_38 + 8)" identifier = (pointer_expression "*(int *)(local_38 + 8)" * (cast_expression "(int *)(local_38 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 8)" ( (binary_expression "local_38 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }" if (parenthesized_expression "(*(int *)(param_3 + 0x1d0) != 0)" ( (binary_expression "*(int *)(param_3 + 0x1d0) != 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }" { (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "__n = piVar4[1] - *piVar4;" (assignment_expression "__n = piVar4[1] - *piVar4" identifier = (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" identifier [ number_literal ]) - (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if ((int)__n < 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }" if (parenthesized_expression "((int)__n < 0)" ( (binary_expression "(int)__n < 0" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00180130();\n    }" { comment (expression_statement "FUN_00180130();" (call_expression "FUN_00180130()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "__s = (void *)FUN_0017eb70(__n);" (assignment_expression "__s = (void *)FUN_0017eb70(__n)" identifier = (cast_expression "(void *)FUN_0017eb70(__n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017eb70(__n)" identifier (argument_list "(__n)" ( identifier ))))) ;) (expression_statement "param_1[0x16] = (int)__s;" (assignment_expression "param_1[0x16] = (int)__s" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) 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_20[0] = (uint *)*param_4;" (assignment_expression "local_20[0] = (uint *)*param_4" (subscript_expression "local_20[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_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(local_20[0] == (uint *)param_4[1])" ( (binary_expression "local_20[0] == (uint *)param_4[1]" (subscript_expression "local_20[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_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }" { (labeled_statement "LAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }" statement_identifier : (if_statement "if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }" if (parenthesized_expression "(*(int *)(param_3 + 0x1d0) != 0)" ( (binary_expression "*(int *)(param_3 + 0x1d0) != 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00091f40(param_1,param_3,1);\n    }" { (expression_statement "FUN_00091f40(param_1,param_3,1);" (call_expression "FUN_00091f40(param_1,param_3,1)" identifier (argument_list "(param_1,param_3,1)" ( identifier , identifier , number_literal ))) ;) }))) (expression_statement "iVar7 = param_4[3];" (assignment_expression "iVar7 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }" { (expression_statement "FUN_0005cea0(iVar7);" (call_expression "FUN_0005cea0(iVar7)" identifier (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "FUN_00180780(iVar7,0xc);" (call_expression "FUN_00180780(iVar7,0xc)" identifier (argument_list "(iVar7,0xc)" ( 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 "iVar7 = *(int *)(DAT_00302378 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_00302378 + 8)" identifier = (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }" { (do_statement "do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);" do (compound_statement "{\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    }" { (if_statement "if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" if (parenthesized_expression "(((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0))" ( (binary_expression "((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)" (parenthesized_expression "((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0))" ( (binary_expression "(*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)" (parenthesized_expression "(*(char *)(iVar7 + 0x18b1) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x18b1) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x18b1)" * (cast_expression "(char *)(iVar7 + 0x18b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18b1)" ( (binary_expression "iVar7 + 0x18b1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(iVar7 + 0x5934) == 0)" ( (binary_expression "*(int *)(iVar7 + 0x5934) == 0" (pointer_expression "*(int *)(iVar7 + 0x5934)" * (cast_expression "(int *)(iVar7 + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5934)" ( (binary_expression "iVar7 + 0x5934" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(local_20[0][5] != 0)" ( (binary_expression "local_20[0][5] != 0" (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" { (if_statement "if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" if (parenthesized_expression "(*(char *)(iVar7 + 0x318d) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x318d)" * (cast_expression "(char *)(iVar7 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x318d)" ( (binary_expression "iVar7 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }" { (if_statement "if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }" if (parenthesized_expression "(*(char *)((int)local_20[0] + 0x19) != '\0')" ( (binary_expression "*(char *)((int)local_20[0] + 0x19) != '\0'" (pointer_expression "*(char *)((int)local_20[0] + 0x19)" * (cast_expression "(char *)((int)local_20[0] + 0x19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20[0] + 0x19)" ( (binary_expression "(int)local_20[0] + 0x19" (cast_expression "(int)local_20[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_20[0]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }" { (expression_statement "(**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);" (call_expression "(**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38)" (parenthesized_expression "(**(code **)(*piVar1 + 0xac))" ( (pointer_expression "**(code **)(*piVar1 + 0xac)" * (pointer_expression "*(code **)(*piVar1 + 0xac)" * (cast_expression "(code **)(*piVar1 + 0xac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0xac)" ( (binary_expression "*piVar1 + 0xac" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) )) (argument_list "(piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_20[0][2] + 8)" * (cast_expression "(undefined4 *)(local_20[0][2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20[0][2] + 8)" ( (binary_expression "local_20[0][2] + 8" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) + number_literal) )))) , (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) , (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) , identifier ))) ;) })) (if_statement "if (*(int *)(DAT_00302378 + 8) == 0) break;" if (parenthesized_expression "(*(int *)(DAT_00302378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_00302378 + 8) == 0" (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) )))) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0'" (pointer_expression "*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095)" * (cast_expression "(char *)(*(int *)(DAT_00302378 + 8) + 0x3095)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00302378 + 8) + 0x3095)" ( (binary_expression "*(int *)(DAT_00302378 + 8) + 0x3095" (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }" { (expression_statement "FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);" (call_expression "FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20)" identifier (argument_list "(param_1,param_2,param_3,local_38,local_20)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;" if (parenthesized_expression "(*(int *)(param_3 + 0x1d0) == 0)" ( (binary_expression "*(int *)(param_3 + 0x1d0) == 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;)) (if_statement "if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" if (parenthesized_expression "(local_20[0][3] == 9)" ( (binary_expression "local_20[0][3] == 9" (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" { (expression_statement "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" identifier = (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "uVar2 = local_20[0][4];" (assignment_expression "uVar2 = local_20[0][4]" identifier = (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(uVar8 + 8);" (assignment_expression "iVar7 = *(int *)(uVar8 + 8)" identifier = (pointer_expression "*(int *)(uVar8 + 8)" * (cast_expression "(int *)(uVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);" do (compound_statement "{\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              }" { (if_statement "if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }" if (parenthesized_expression "(((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0'))" ( (binary_expression "((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')" (parenthesized_expression "((char)local_20[0][6] == '\0')" ( (binary_expression "(char)local_20[0][6] == '\0'" (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')" ( (comma_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0'" (assignment_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" identifier = (call_expression "FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" identifier (argument_list "(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" ( (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar7 + uVar8 * 8)" * (cast_expression "(undefined4 *)(iVar7 + uVar8 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + uVar8 * 8)" ( (binary_expression "iVar7 + uVar8 * 8" identifier + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) , number_literal )))) , (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }" { (expression_statement "uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;" (assignment_expression "uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8" identifier = (binary_expression "*(uint *)(iVar7 + 4 + uVar8 * 8) >> 8" (pointer_expression "*(uint *)(iVar7 + 4 + uVar8 * 8)" * (cast_expression "(uint *)(iVar7 + 4 + uVar8 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4 + uVar8 * 8)" ( (binary_expression "iVar7 + 4 + uVar8 * 8" (binary_expression "iVar7 + 4" identifier + number_literal) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) >> number_literal)) ;) (if_statement "if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }" if (parenthesized_expression "((uint)param_1[0x2c] <= uVar6)" ( (binary_expression "(uint)param_1[0x2c] <= uVar6" (cast_expression "(uint)param_1[0x2c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }" { (expression_statement "uVar6 = uVar6 - param_1[0x2c];" (assignment_expression "uVar6 = uVar6 - param_1[0x2c]" identifier = (binary_expression "uVar6 - param_1[0x2c]" identifier - (subscript_expression "param_1[0x2c]" identifier [ number_literal ]))) ;) (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;" if (parenthesized_expression "((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6)" ( (binary_expression "(uint)(piVar4[1] - *piVar4 >> 2) <= uVar6" (call_expression "(uint)(piVar4[1] - *piVar4 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar4[1] - *piVar4 >> 2)" ( (binary_expression "piVar4[1] - *piVar4 >> 2" (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" identifier [ number_literal ]) - (pointer_expression "*piVar4" * identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_000fcf87;" goto statement_identifier ;)) (if_statement "if (param_1[0x16] == 0) goto LAB_000fcf68;" if (parenthesized_expression "(param_1[0x16] == 0)" ( (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000fcf68;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)(param_1[0x16] + uVar6 * 4);" (assignment_expression "piVar4 = (int *)(param_1[0x16] + uVar6 * 4)" identifier = (cast_expression "(int *)(param_1[0x16] + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x16] + uVar6 * 4)" ( (binary_expression "param_1[0x16] + uVar6 * 4" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) + (binary_expression "uVar6 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = *piVar4 + 1;" (assignment_expression "*piVar4 = *piVar4 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "*piVar4 + 1" (pointer_expression "*piVar4" * identifier) + number_literal)) ;) })) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar8)" ( (binary_expression "uVar2 != uVar8" identifier != identifier) )) ;) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" else (compound_statement "{\n            if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" { (if_statement "if (local_20[0][3] != 4) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" if (parenthesized_expression "(local_20[0][3] != 4)" ( (binary_expression "local_20[0][3] != 4" (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" { comment (expression_statement "FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "FUN_0005f0b0("../../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 "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" identifier = (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "uVar2 = local_20[0][4];" (assignment_expression "uVar2 = local_20[0][4]" identifier = (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "puVar9 = *(undefined4 **)(uVar8 + 8);" (assignment_expression "puVar9 = *(undefined4 **)(uVar8 + 8)" identifier = (pointer_expression "*(undefined4 **)(uVar8 + 8)" * (cast_expression "(undefined4 **)(uVar8 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);" do (compound_statement "{\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              }" { (while_statement "while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }" while (parenthesized_expression "((char)local_20[0][6] != '\0')" ( (binary_expression "(char)local_20[0][6] != '\0'" (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }" { (expression_statement "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);" (assignment_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" identifier = (call_expression "FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" identifier (argument_list "(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" ( (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*puVar9" * identifier) , number_literal )))) ;) (if_statement "if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }" { (expression_statement "uVar6 = param_1[0x2c];" (assignment_expression "uVar6 = param_1[0x2c]" identifier = (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = (uint)puVar9[1] >> 8;" (assignment_expression "uVar5 = (uint)puVar9[1] >> 8" identifier = (binary_expression "(uint)puVar9[1] >> 8" (cast_expression "(uint)puVar9[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar9[1]" identifier [ number_literal ])) >> number_literal)) ;) (if_statement "if (uVar6 <= uVar5) goto LAB_000fcca6;" if (parenthesized_expression "(uVar6 <= uVar5)" ( (binary_expression "uVar6 <= uVar5" identifier <= identifier) )) (goto_statement "goto LAB_000fcca6;" goto statement_identifier ;)) })) (labeled_statement "LAB_000fcc60:\n                  uVar8 = uVar8 + 1;" statement_identifier : (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;)) (expression_statement "puVar9 = puVar9 + 3;" (assignment_expression "puVar9 = puVar9 + 3" identifier = (binary_expression "puVar9 + 3" identifier + number_literal)) ;) (if_statement "if (uVar2 == uVar8) goto LAB_000fccf0;" if (parenthesized_expression "(uVar2 == uVar8)" ( (binary_expression "uVar2 == uVar8" identifier == identifier) )) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;)) })) (expression_statement "uVar6 = param_1[0x2c];" (assignment_expression "uVar6 = param_1[0x2c]" identifier = (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = (uint)puVar9[1] >> 8;" (assignment_expression "uVar5 = (uint)puVar9[1] >> 8" identifier = (binary_expression "(uint)puVar9[1] >> 8" (cast_expression "(uint)puVar9[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar9[1]" identifier [ number_literal ])) >> number_literal)) ;) (if_statement "if (uVar5 < uVar6) goto LAB_000fcc60;" if (parenthesized_expression "(uVar5 < uVar6)" ( (binary_expression "uVar5 < uVar6" identifier < identifier) )) (goto_statement "goto LAB_000fcc60;" goto statement_identifier ;)) (labeled_statement "LAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" statement_identifier : (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;)) (if_statement "if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" if (parenthesized_expression "((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6)" ( (binary_expression "(uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6" (call_expression "(uint)(piVar4[1] - *piVar4 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar4[1] - *piVar4 >> 2)" ( (binary_expression "piVar4[1] - *piVar4 >> 2" (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" identifier [ number_literal ]) - (pointer_expression "*piVar4" * identifier)) >> number_literal) ))) <= (binary_expression "uVar5 - uVar6" identifier - identifier)) )) (compound_statement "{\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" { (labeled_statement "LAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");" statement_identifier : comment (expression_statement "FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "FUN_0005f0b0("../../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[0x16] == 0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" if (parenthesized_expression "(param_1[0x16] == 0)" ( (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" { (labeled_statement "LAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");" statement_identifier : comment (expression_statement "FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "FUN_0005f0b0("../../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 "piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);" (assignment_expression "piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4)" identifier = (cast_expression "(int *)(param_1[0x16] + (uVar5 - uVar6) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x16] + (uVar5 - uVar6) * 4)" ( (binary_expression "param_1[0x16] + (uVar5 - uVar6) * 4" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) + (binary_expression "(uVar5 - uVar6) * 4" (parenthesized_expression "(uVar5 - uVar6)" ( (binary_expression "uVar5 - uVar6" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "*piVar4 = *piVar4 + 1;" (assignment_expression "*piVar4 = *piVar4 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "*piVar4 + 1" (pointer_expression "*piVar4" * identifier) + number_literal)) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 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 "(uVar2 != uVar8)" ( (binary_expression "uVar2 != uVar8" identifier != identifier) )) ;) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000fccf7:\n          FUN_0005cea0(uVar8);" statement_identifier : (expression_statement "FUN_0005cea0(uVar8);" (call_expression "FUN_0005cea0(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;)) (expression_statement "FUN_00180780(uVar8,0xc);" (call_expression "FUN_00180780(uVar8,0xc)" identifier (argument_list "(uVar8,0xc)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" else (compound_statement "{\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" { (if_statement "if ((uint)param_1[10] <= *local_20[0]) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }" if (parenthesized_expression "((uint)param_1[10] <= *local_20[0])" ( (binary_expression "(uint)param_1[10] <= *local_20[0]" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) <= (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }" { comment (expression_statement "FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "FUN_0005f0b0("../../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 "iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);" (assignment_expression "iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" identifier = (pointer_expression "*(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" * (cast_expression "(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x11] + *local_20[0] * 4)" ( (binary_expression "*(int *)param_1[0x11] + *local_20[0] * 4" (pointer_expression "*(int *)param_1[0x11]" * (cast_expression "(int *)param_1[0x11]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x11]" identifier [ number_literal ]))) + (binary_expression "*local_20[0] * 4" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) * number_literal)) ))))) ;) (if_statement "if (iVar7 == 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" { comment (expression_statement "FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "FUN_0005f0b0("../../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_000fc7e0(iVar7,local_20[0][4]);" (call_expression "FUN_000fc7e0(iVar7,local_20[0][4])" identifier (argument_list "(iVar7,local_20[0][4])" ( identifier , (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) ))) ;) (expression_statement "(**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);" (call_expression "(**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7)" (parenthesized_expression "(**(code **)(*piVar1 + 0xb4))" ( (pointer_expression "**(code **)(*piVar1 + 0xb4)" * (pointer_expression "*(code **)(*piVar1 + 0xb4)" * (cast_expression "(code **)(*piVar1 + 0xb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0xb4)" ( (binary_expression "*piVar1 + 0xb4" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) )) (argument_list "(piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_20[0][2] + 8)" * (cast_expression "(undefined4 *)(local_20[0][2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20[0][2] + 8)" ( (binary_expression "local_20[0][2] + 8" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) + number_literal) )))) , (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) , (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) , identifier , identifier ))) ;) (labeled_statement "LAB_000fccf0:\n          uVar8 = local_20[0][2];" statement_identifier : (expression_statement "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" identifier = (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;)) (if_statement "if (uVar8 != 0) goto LAB_000fccf7;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fccf7;" goto statement_identifier ;)) }))) (expression_statement "local_20[0][2] = 0;" (assignment_expression "local_20[0][2] = 0" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) = number_literal) ;) (expression_statement "local_20[0] = local_20[0] + 7;" (assignment_expression "local_20[0] = local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;" if (parenthesized_expression "((uint *)param_4[1] == local_20[0])" ( (binary_expression "(uint *)param_4[1] == local_20[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_20[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_000fce30;" goto statement_identifier ;)) }) (else_clause "else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" else (compound_statement "{\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" { (expression_statement "local_20[0] = local_20[0] + 7;" (assignment_expression "local_20[0] = local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;" if (parenthesized_expression "((uint *)param_4[1] == local_20[0])" ( (binary_expression "(uint *)param_4[1] == local_20[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_20[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_000fce30;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = *(int *)(DAT_00302378 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_00302378 + 8)" identifier = (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0005f0b0("../../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: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_scan_relocs(Sized_relobj_file<32,_false> * this, Symbol_table *\n   symtab, Layout * layout, Read_relocs_data * rd) */\n\nvoid __thiscall\ngold::Sized_relobj_file<32,_false>::do_scan_relocs\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)\n\n{\n  Target *pTVar1;\n  size_t sVar2;\n  uint *puVar3;\n  Relocatable_relocs *this_00;\n  uchar *puVar4;\n  bool bVar5;\n  int *piVar6;\n  uint *puVar7;\n  uint uVar8;\n  General_options *pGVar9;\n  File_view *pFVar10;\n  size_t sVar11;\n  uint uVar12;\n  Layout *in_stack_ffffffa8;\n  File_view *local_38;\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_38 = rd->local_symbols;\n  if (local_38 != (File_view *)0x0) {\n    local_38 = (File_view *)local_38->data_;\n  }\n  if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this);\n    uVar12 = piVar6[1] - *piVar6;\n    if ((int)uVar12 < 0) {\n                    /* WARNING: Subroutine does not return */\n      __cxa_throw_bad_array_new_length();\n    }\n    puVar7 = (uint *)operator_new__(uVar12);\n    (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = puVar7;\n    in_stack_ffffffa8 = (Layout *)0x0;\n    memset(puVar7,0,uVar12);\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_000fce30:\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      in_stack_ffffffa8 = layout;\n    }\n    pFVar10 = rd->local_symbols;\n    if (pFVar10 != (File_view *)0x0) {\n      File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n      operator_delete(pFVar10,0xc);\n      rd->local_symbols = (File_view *)0x0;\n    }\n    return;\n  }\n  pGVar9 = parameters->options_;\n  if (pGVar9 != (General_options *)0x0) {\n    do {\n      if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      pGVar9 = parameters->options_;\n    } while (pGVar9 != (General_options *)0x0);\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<32,_false>::do_scan_relocs\n          (Sized_relobj_file<32,_false> *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 "<32" < number_literal) , (ERROR "_false>::do_scan_relocs\n          (Sized_relobj_file<32,_false> *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<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)" identifier (parameter_list "(Sized_relobj_file<32,_false> *this,Symbol_table *symtab,Layout *layout,\n          Read_relocs_data *rd)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *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 "uint *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "Relocatable_relocs *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "uchar *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "General_options *pGVar9;" type_identifier (pointer_declarator "*pGVar9" * identifier) ;) (declaration "File_view *pFVar10;" type_identifier (pointer_declarator "*pFVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "Layout *in_stack_ffffffa8;" type_identifier (pointer_declarator "*in_stack_ffffffa8" * identifier) ;) (declaration "File_view *local_38;" type_identifier (pointer_declarator "*local_38" * 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_38 = rd->local_symbols;" (assignment_expression "local_38 = rd->local_symbols" identifier = (field_expression "rd->local_symbols" identifier -> field_identifier)) ;) (if_statement "if (local_38 != (File_view *)0x0) {\n    local_38 = (File_view *)local_38->data_;\n  }" if (parenthesized_expression "(local_38 != (File_view *)0x0)" ( (binary_expression "local_38 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_38 = (File_view *)local_38->data_;\n  }" { (expression_statement "local_38 = (File_view *)local_38->data_;" (assignment_expression "local_38 = (File_view *)local_38->data_" identifier = (cast_expression "(File_view *)local_38->data_" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_38->data_" identifier -> field_identifier))) ;) })) (if_statement "if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this);\n    uVar12 = piVar6[1] - *piVar6;\n    if ((int)uVar12 < 0) {\n                    /* WARNING: Subroutine does not return */\n      __cxa_throw_bad_array_new_length();\n    }\n    puVar7 = (uint *)operator_new__(uVar12);\n    (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = puVar7;\n    in_stack_ffffffa8 = (Layout *)0x0;\n    memset(puVar7,0,uVar12);\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    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this);\n    uVar12 = piVar6[1] - *piVar6;\n    if ((int)uVar12 < 0) {\n                    /* WARNING: Subroutine does not return */\n      __cxa_throw_bad_array_new_length();\n    }\n    puVar7 = (uint *)operator_new__(uVar12);\n    (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = puVar7;\n    in_stack_ffffffa8 = (Layout *)0x0;\n    memset(puVar7,0,uVar12);\n  }" { (expression_statement "piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this);" (assignment_expression "piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this)" identifier = (cast_expression "(int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d]" * (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object\n                      [0x1d]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier ))))) ;) (expression_statement "uVar12 = piVar6[1] - *piVar6;" (assignment_expression "uVar12 = piVar6[1] - *piVar6" identifier = (binary_expression "piVar6[1] - *piVar6" (subscript_expression "piVar6[1]" identifier [ number_literal ]) - (pointer_expression "*piVar6" * identifier))) ;) (if_statement "if ((int)uVar12 < 0) {\n                    /* WARNING: Subroutine does not return */\n      __cxa_throw_bad_array_new_length();\n    }" if (parenthesized_expression "((int)uVar12 < 0)" ( (binary_expression "(int)uVar12 < 0" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __cxa_throw_bad_array_new_length();\n    }" { comment (expression_statement "__cxa_throw_bad_array_new_length();" (call_expression "__cxa_throw_bad_array_new_length()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar7 = (uint *)operator_new__(uVar12);" (assignment_expression "puVar7 = (uint *)operator_new__(uVar12)" identifier = (cast_expression "(uint *)operator_new__(uVar12)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new__(uVar12)" identifier (argument_list "(uVar12)" ( identifier ))))) ;) (expression_statement "(this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = puVar7;" (assignment_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = puVar7" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "in_stack_ffffffa8 = (Layout *)0x0;" (assignment_expression "in_stack_ffffffa8 = (Layout *)0x0" identifier = (cast_expression "(Layout *)0x0" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "memset(puVar7,0,uVar12);" (call_expression "memset(puVar7,0,uVar12)" identifier (argument_list "(puVar7,0,uVar12)" ( 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_000fce30:\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      in_stack_ffffffa8 = layout;\n    }\n    pFVar10 = rd->local_symbols;\n    if (pFVar10 != (File_view *)0x0) {\n      File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n      operator_delete(pFVar10,0xc);\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_000fce30:\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      in_stack_ffffffa8 = layout;\n    }\n    pFVar10 = rd->local_symbols;\n    if (pFVar10 != (File_view *)0x0) {\n      File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n      operator_delete(pFVar10,0xc);\n      rd->local_symbols = (File_view *)0x0;\n    }\n    return;\n  }" { (labeled_statement "LAB_000fce30:\n    if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      in_stack_ffffffa8 = layout;\n    }" statement_identifier : (if_statement "if (layout->incremental_inputs_ != (Incremental_inputs *)0x0) {\n      Relobj::finalize_incremental_relocs((Relobj *)this,layout,true);\n      in_stack_ffffffa8 = 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      in_stack_ffffffa8 = 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 "in_stack_ffffffa8 = layout;" (assignment_expression "in_stack_ffffffa8 = layout" identifier = identifier) ;) }))) (expression_statement "pFVar10 = rd->local_symbols;" (assignment_expression "pFVar10 = rd->local_symbols" identifier = (field_expression "rd->local_symbols" identifier -> field_identifier)) ;) (if_statement "if (pFVar10 != (File_view *)0x0) {\n      File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n      operator_delete(pFVar10,0xc);\n      rd->local_symbols = (File_view *)0x0;\n    }" if (parenthesized_expression "(pFVar10 != (File_view *)0x0)" ( (binary_expression "pFVar10 != (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(pFVar10,(int)in_stack_ffffffa8);\n      operator_delete(pFVar10,0xc);\n      rd->local_symbols = (File_view *)0x0;\n    }" { (labeled_statement "File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar10,(int)in_stack_ffffffa8);" (unary_expression "~File_view(pFVar10,(int)in_stack_ffffffa8)" ~ (call_expression "File_view(pFVar10,(int)in_stack_ffffffa8)" identifier (argument_list "(pFVar10,(int)in_stack_ffffffa8)" ( identifier , (cast_expression "(int)in_stack_ffffffa8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) (expression_statement "operator_delete(pFVar10,0xc);" (call_expression "operator_delete(pFVar10,0xc)" identifier (argument_list "(pFVar10,0xc)" ( 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 "pGVar9 = parameters->options_;" (assignment_expression "pGVar9 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) (if_statement "if (pGVar9 != (General_options *)0x0) {\n    do {\n      if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      pGVar9 = parameters->options_;\n    } while (pGVar9 != (General_options *)0x0);\n  }" if (parenthesized_expression "(pGVar9 != (General_options *)0x0)" ( (binary_expression "pGVar9 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    do {\n      if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      pGVar9 = parameters->options_;\n    } while (pGVar9 != (General_options *)0x0);\n  }" { (do_statement "do {\n      if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      pGVar9 = parameters->options_;\n    } while (pGVar9 != (General_options *)0x0);" do (compound_statement "{\n      if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      pGVar9 = parameters->options_;\n    }" { (if_statement "if ((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)) {\n        if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }\n      else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }" if (parenthesized_expression "((((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0))" ( (binary_expression "(((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)) ||\n         ((p._M_current)->output_section != (Output_section *)0x0)" (parenthesized_expression "(((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE))" ( (binary_expression "((pGVar9->gc_sections_).value == false) && (pGVar9->icf_status_ == ICF_NONE)" (parenthesized_expression "((pGVar9->gc_sections_).value == false)" ( (binary_expression "(pGVar9->gc_sections_).value == false" (field_expression "(pGVar9->gc_sections_).value" (parenthesized_expression "(pGVar9->gc_sections_)" ( (field_expression "pGVar9->gc_sections_" identifier -> field_identifier) )) . field_identifier) == false) )) && (parenthesized_expression "(pGVar9->icf_status_ == ICF_NONE)" ( (binary_expression "pGVar9->icf_status_ == ICF_NONE" (field_expression "pGVar9->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 ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }\n        (p._M_current)->contents = (File_view *)0x0;\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }" { (if_statement "if ((pGVar9->relocatable_).value == false) {\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }\n        else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }" if (parenthesized_expression "((pGVar9->relocatable_).value == false)" ( (binary_expression "(pGVar9->relocatable_).value == false" (field_expression "(pGVar9->relocatable_).value" (parenthesized_expression "(pGVar9->relocatable_)" ( (field_expression "pGVar9->relocatable_" identifier -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n          if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }\n          if (parameters->options_ == (General_options *)0x0) break;\n          if ((parameters->options_->emit_relocs_).value != false) {\n            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }\n          if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;\n          if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);\n          in_stack_ffffffa8 = (Layout *)0xc;\n          operator_delete(pFVar10,0xc);\n        }" { (if_statement "if ((p._M_current)->is_data_section_allocated != false) {\n            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\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            in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;\n            (**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);\n          }" { (expression_statement "in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling;" (assignment_expression "in_stack_ffffffa8 = (Layout *)(uint)(p._M_current)->needs_special_offset_handling" identifier = (cast_expression "(Layout *)(uint)(p._M_current)->needs_special_offset_handling" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(uint)(p._M_current)->needs_special_offset_handling" (call_expression "(uint)(p._M_current)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p._M_current)" ( (field_expression "p._M_current" identifier . field_identifier) ))) -> field_identifier))) ;) (expression_statement "(**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38);" (call_expression "(**(code **)(*(int *)pTVar1 + 0xac))\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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38)" (parenthesized_expression "(**(code **)(*(int *)pTVar1 + 0xac))" ( (pointer_expression "**(code **)(*(int *)pTVar1 + 0xac)" * (pointer_expression "*(code **)(*(int *)pTVar1 + 0xac)" * (cast_expression "(code **)(*(int *)pTVar1 + 0xac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pTVar1 + 0xac)" ( (binary_expression "*(int *)pTVar1 + 0xac" (pointer_expression "*(int *)pTVar1" * (cast_expression "(int *)pTVar1" ( (type_descriptor "int *" primitive_type (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,in_stack_ffffffa8,this->local_symbol_count_,\n                       local_38)" ( 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) , 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            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&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            emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);\n          }" { (expression_statement "emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p);" (call_expression "emit_relocs_scan(this,symtab,layout,(uchar *)local_38,&p)" identifier (argument_list "(this,symtab,layout,(uchar *)local_38,&p)" ( identifier , identifier , identifier , (cast_expression "(uchar *)local_38" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&p" & identifier) ))) ;) })) (if_statement "if (layout->incremental_inputs_ == (Incremental_inputs *)0x0) goto LAB_000fccf0;" 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_000fccf0;" goto statement_identifier ;)) (if_statement "if ((p._M_current)->sh_type == 9) {\n            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar4 = pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }\n          }" { (expression_statement "pFVar10 = (p._M_current)->contents;" (assignment_expression "pFVar10 = (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 "puVar4 = pFVar10->data_;" (assignment_expression "puVar4 = pFVar10->data_" identifier = (field_expression "pFVar10->data_" identifier -> field_identifier)) ;) (if_statement "if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }" if (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              sVar11 = 0;\n              do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }" { (expression_statement "sVar11 = 0;" (assignment_expression "sVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              } while (sVar2 != sVar11);" do (compound_statement "{\n                if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }\n                sVar11 = sVar11 + 1;\n              }" { (if_statement "if (((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)) {\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }" if (parenthesized_expression "(((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5))" ( (binary_expression "((p._M_current)->needs_special_offset_handling == false) ||\n                   (bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)" (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) )) || (parenthesized_expression "(bVar5 = Output_section::is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5)" ( (ERROR "bVar5 = Output_section::" (assignment_expression "bVar5 = Output_section" identifier = identifier) : :) (comma_expression "is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8)), bVar5" (call_expression "is_input_address_mapped\n                                      ((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8))" identifier (argument_list "((p._M_current)->output_section,(Relobj *)this,\n                                       (p._M_current)->data_shndx,\n                                       (ulonglong)*(uint *)(puVar4 + sVar11 * 8))" ( (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 "(ulonglong)*(uint *)(puVar4 + sVar11 * 8)" (parenthesized_expression "(ulonglong)" ( identifier )) * (cast_expression "(uint *)(puVar4 + sVar11 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + sVar11 * 8)" ( (binary_expression "puVar4 + sVar11 * 8" identifier + (binary_expression "sVar11 * 8" identifier * number_literal)) )))) ))) , identifier) ))) )) (compound_statement "{\n                  uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;\n                  if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }\n                }" { (expression_statement "uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8;" (assignment_expression "uVar12 = *(uint *)(puVar4 + sVar11 * 8 + 4) >> 8" identifier = (binary_expression "*(uint *)(puVar4 + sVar11 * 8 + 4) >> 8" (pointer_expression "*(uint *)(puVar4 + sVar11 * 8 + 4)" * (cast_expression "(uint *)(puVar4 + sVar11 * 8 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + sVar11 * 8 + 4)" ( (binary_expression "puVar4 + sVar11 * 8 + 4" (binary_expression "puVar4 + sVar11 * 8" identifier + (binary_expression "sVar11 * 8" identifier * number_literal)) + number_literal) )))) >> number_literal)) ;) (if_statement "if (this->local_symbol_count_ <= uVar12) {\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }" if (parenthesized_expression "(this->local_symbol_count_ <= uVar12)" ( (binary_expression "this->local_symbol_count_ <= uVar12" (field_expression "this->local_symbol_count_" identifier -> field_identifier) <= identifier) )) (compound_statement "{\n                    uVar12 = uVar12 - this->local_symbol_count_;\n                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);\n                    if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;\n                    puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                    if (puVar7 == (uint *)0x0) goto LAB_000fcf68;\n                    puVar7 = puVar7 + uVar12;\n                    *puVar7 = *puVar7 + 1;\n                  }" { (expression_statement "uVar12 = uVar12 - this->local_symbol_count_;" (assignment_expression "uVar12 = uVar12 - this->local_symbol_count_" identifier = (binary_expression "uVar12 - this->local_symbol_count_" identifier - (field_expression "this->local_symbol_count_" identifier -> field_identifier))) ;) (expression_statement "piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this);" (assignment_expression "piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this)" identifier = (cast_expression "(int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d]" * (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object[0x1d]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.\n                                      super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier ))))) ;) (if_statement "if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12) goto LAB_000fcf87;" if (parenthesized_expression "((uint)(piVar6[1] - *piVar6 >> 2) <= uVar12)" ( (binary_expression "(uint)(piVar6[1] - *piVar6 >> 2) <= uVar12" (call_expression "(uint)(piVar6[1] - *piVar6 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar6[1] - *piVar6 >> 2)" ( (binary_expression "piVar6[1] - *piVar6 >> 2" (binary_expression "piVar6[1] - *piVar6" (subscript_expression "piVar6[1]" identifier [ number_literal ]) - (pointer_expression "*piVar6" * identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_000fcf87;" goto statement_identifier ;)) (expression_statement "puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;" (assignment_expression "puVar7 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (puVar7 == (uint *)0x0) goto LAB_000fcf68;" if (parenthesized_expression "(puVar7 == (uint *)0x0)" ( (binary_expression "puVar7 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fcf68;" goto statement_identifier ;)) (expression_statement "puVar7 = puVar7 + uVar12;" (assignment_expression "puVar7 = puVar7 + uVar12" identifier = (binary_expression "puVar7 + uVar12" identifier + identifier)) ;) (expression_statement "*puVar7 = *puVar7 + 1;" (assignment_expression "*puVar7 = *puVar7 + 1" (pointer_expression "*puVar7" * identifier) = (binary_expression "*puVar7 + 1" (pointer_expression "*puVar7" * identifier) + number_literal)) ;) })) })) (expression_statement "sVar11 = sVar11 + 1;" (assignment_expression "sVar11 = sVar11 + 1" identifier = (binary_expression "sVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar2 != sVar11)" ( (binary_expression "sVar2 != sVar11" identifier != identifier) )) ;) (goto_statement "goto LAB_000fccf0;" 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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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            pFVar10 = (p._M_current)->contents;\n            sVar2 = (p._M_current)->reloc_count;\n            puVar7 = (uint *)pFVar10->data_;\n            if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\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 "pFVar10 = (p._M_current)->contents;" (assignment_expression "pFVar10 = (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 "puVar7 = (uint *)pFVar10->data_;" (assignment_expression "puVar7 = (uint *)pFVar10->data_" identifier = (cast_expression "(uint *)pFVar10->data_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pFVar10->data_" identifier -> field_identifier))) ;) (if_statement "if (sVar2 != 0) {\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }" if (parenthesized_expression "(sVar2 != 0)" ( (binary_expression "sVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              sVar11 = 0;\n              do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);\n              goto LAB_000fccf0;\n            }" { (expression_statement "sVar11 = 0;" (assignment_expression "sVar11 = 0" identifier = number_literal) ;) (do_statement "do {\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              } while (sVar2 != sVar11);" do (compound_statement "{\n                while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }\n                uVar12 = this->local_symbol_count_;\n                uVar8 = puVar7[1] >> 8;\n                if (uVar8 < uVar12) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);\n                if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;\n                if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                puVar3 = puVar3 + (uVar8 - uVar12);\n                *puVar3 = *puVar3 + 1;\n                sVar11 = sVar11 + 1;\n                puVar7 = puVar7 + 3;\n              }" { (while_statement "while ((p._M_current)->needs_special_offset_handling != false) {\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }" while (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 "{\n                  bVar5 = Output_section::is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);\n                  if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  sVar11 = sVar11 + 1;\n                  puVar7 = puVar7 + 3;\n                  if (sVar2 == sVar11) goto LAB_000fccf0;\n                }" { (ERROR "bVar5 = Output_section::" (assignment_expression "bVar5 = Output_section" identifier = identifier) : :) (expression_statement "is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7);" (call_expression "is_input_address_mapped\n                                    ((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7)" identifier (argument_list "((p._M_current)->output_section,(Relobj *)this,\n                                     (p._M_current)->data_shndx,(ulonglong)*puVar7)" ( (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 "(ulonglong)*puVar7" (parenthesized_expression "(ulonglong)" ( identifier )) * identifier) ))) ;) (if_statement "if (bVar5) {\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n                    uVar12 = this->local_symbol_count_;\n                    uVar8 = puVar7[1] >> 8;\n                    if (uVar12 <= uVar8) goto LAB_000fcca6;\n                  }" { (expression_statement "uVar12 = this->local_symbol_count_;" (assignment_expression "uVar12 = this->local_symbol_count_" identifier = (field_expression "this->local_symbol_count_" identifier -> field_identifier)) ;) (expression_statement "uVar8 = puVar7[1] >> 8;" (assignment_expression "uVar8 = puVar7[1] >> 8" identifier = (binary_expression "puVar7[1] >> 8" (subscript_expression "puVar7[1]" identifier [ number_literal ]) >> number_literal)) ;) (if_statement "if (uVar12 <= uVar8) goto LAB_000fcca6;" if (parenthesized_expression "(uVar12 <= uVar8)" ( (binary_expression "uVar12 <= uVar8" identifier <= identifier) )) (goto_statement "goto LAB_000fcca6;" goto statement_identifier ;)) })) (labeled_statement "LAB_000fcc60:\n                  sVar11 = sVar11 + 1;" statement_identifier : (expression_statement "sVar11 = sVar11 + 1;" (assignment_expression "sVar11 = sVar11 + 1" identifier = (binary_expression "sVar11 + 1" identifier + number_literal)) ;)) (expression_statement "puVar7 = puVar7 + 3;" (assignment_expression "puVar7 = puVar7 + 3" identifier = (binary_expression "puVar7 + 3" identifier + number_literal)) ;) (if_statement "if (sVar2 == sVar11) goto LAB_000fccf0;" if (parenthesized_expression "(sVar2 == sVar11)" ( (binary_expression "sVar2 == sVar11" identifier == identifier) )) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;)) })) (expression_statement "uVar12 = this->local_symbol_count_;" (assignment_expression "uVar12 = this->local_symbol_count_" identifier = (field_expression "this->local_symbol_count_" identifier -> field_identifier)) ;) (expression_statement "uVar8 = puVar7[1] >> 8;" (assignment_expression "uVar8 = puVar7[1] >> 8" identifier = (binary_expression "puVar7[1] >> 8" (subscript_expression "puVar7[1]" identifier [ number_literal ]) >> number_literal)) ;) (if_statement "if (uVar8 < uVar12) goto LAB_000fcc60;" if (parenthesized_expression "(uVar8 < uVar12)" ( (binary_expression "uVar8 < uVar12" identifier < identifier) )) (goto_statement "goto LAB_000fcc60;" goto statement_identifier ;)) (labeled_statement "LAB_000fcca6:\n                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);" statement_identifier : (expression_statement "piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this);" (assignment_expression "piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this)" identifier = (cast_expression "(int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])(this)" (parenthesized_expression "(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d])" ( (pointer_expression "*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d]" * (subscript_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object[0x1d]" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                                  _vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this)" ( identifier ))))) ;)) (if_statement "if ((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12) {\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" if (parenthesized_expression "((uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12)" ( (binary_expression "(uint)(piVar6[1] - *piVar6 >> 2) <= uVar8 - uVar12" (call_expression "(uint)(piVar6[1] - *piVar6 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar6[1] - *piVar6 >> 2)" ( (binary_expression "piVar6[1] - *piVar6 >> 2" (binary_expression "piVar6[1] - *piVar6" (subscript_expression "piVar6[1]" identifier [ number_literal ]) - (pointer_expression "*piVar6" * identifier)) >> number_literal) ))) <= (binary_expression "uVar8 - uVar12" identifier - identifier)) )) (compound_statement "{\nLAB_000fcf87:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" { (labeled_statement "LAB_000fcf87:\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 "puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;" (assignment_expression "puVar3 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (puVar3 == (uint *)0x0) {\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" if (parenthesized_expression "(puVar3 == (uint *)0x0)" ( (binary_expression "puVar3 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000fcf68:\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" { (labeled_statement "LAB_000fcf68:\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 "puVar3 = puVar3 + (uVar8 - uVar12);" (assignment_expression "puVar3 = puVar3 + (uVar8 - uVar12)" identifier = (binary_expression "puVar3 + (uVar8 - uVar12)" identifier + (parenthesized_expression "(uVar8 - uVar12)" ( (binary_expression "uVar8 - uVar12" identifier - identifier) )))) ;) (expression_statement "*puVar3 = *puVar3 + 1;" (assignment_expression "*puVar3 = *puVar3 + 1" (pointer_expression "*puVar3" * identifier) = (binary_expression "*puVar3 + 1" (pointer_expression "*puVar3" * identifier) + number_literal)) ;) (expression_statement "sVar11 = sVar11 + 1;" (assignment_expression "sVar11 = sVar11 + 1" identifier = (binary_expression "sVar11 + 1" identifier + number_literal)) ;) (expression_statement "puVar7 = puVar7 + 3;" (assignment_expression "puVar7 = puVar7 + 3" identifier = (binary_expression "puVar7 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar2 != sVar11)" ( (binary_expression "sVar2 != sVar11" identifier != identifier) )) ;) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000fccf7:\n          File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);" statement_identifier : (labeled_statement "File_view::~File_view(pFVar10,(int)in_stack_ffffffa8);" statement_identifier : (ERROR ":" :) (expression_statement "~File_view(pFVar10,(int)in_stack_ffffffa8);" (unary_expression "~File_view(pFVar10,(int)in_stack_ffffffa8)" ~ (call_expression "File_view(pFVar10,(int)in_stack_ffffffa8)" identifier (argument_list "(pFVar10,(int)in_stack_ffffffa8)" ( identifier , (cast_expression "(int)in_stack_ffffffa8" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;))) (expression_statement "in_stack_ffffffa8 = (Layout *)0xc;" (assignment_expression "in_stack_ffffffa8 = (Layout *)0xc" identifier = (cast_expression "(Layout *)0xc" ( (type_descriptor "Layout *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "operator_delete(pFVar10,0xc);" (call_expression "operator_delete(pFVar10,0xc)" identifier (argument_list "(pFVar10,0xc)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }" else (compound_statement "{\n          if ((this->super_Sized_relobj<32,_false>).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<32,_false>).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          in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;\n          std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);\n          (**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);\nLAB_000fccf0:\n          pFVar10 = (p._M_current)->contents;\n          if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;\n        }" { (if_statement "if ((this->super_Sized_relobj<32,_false>).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<32,_false>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx)" ( (binary_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <=\n              (p._M_current)->reloc_shndx" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) <= (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<32,_false>).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<32,_false>).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<32,_false>).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<32,_false>).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<32,_false>).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<32,_false>).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<32,_false>).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<32,_false>).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<32,_false>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std::allocator<gold" (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold::Relocatable_relocs*,_std" (binary_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base<gold" (field_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)\n                    ->\n                    super__Vector_base" (parenthesized_expression "((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)" ( (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) )) -> field_identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Relocatable_relocs" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier) [ (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 ") ))) ;) })) (expression_statement "in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count;" (assignment_expression "in_stack_ffffffa8 = (Layout *)(p._M_current)->reloc_count" identifier = (cast_expression "(Layout *)(p._M_current)->reloc_count" ( (type_descriptor "Layout *" 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))) ;) (labeled_statement "std::vector<unsigned_char,_std::allocator<unsigned_char>_>::reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8);" 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_,(size_type)in_stack_ffffffa8);" (call_expression "reserve\n                    (&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8)" identifier (argument_list "(&this_00->reloc_strategies_,(size_type)in_stack_ffffffa8)" ( (pointer_expression "&this_00->reloc_strategies_" & (field_expression "this_00->reloc_strategies_" identifier -> field_identifier)) , (cast_expression "(size_type)in_stack_ffffffa8" ( (type_descriptor "size_type" type_identifier) ) identifier) ))) ;)) (expression_statement "(**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00);" (call_expression "(**(code **)(*(int *)pTVar1 + 0xb4))\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_38,this_00)" (parenthesized_expression "(**(code **)(*(int *)pTVar1 + 0xb4))" ( (pointer_expression "**(code **)(*(int *)pTVar1 + 0xb4)" * (pointer_expression "*(code **)(*(int *)pTVar1 + 0xb4)" * (cast_expression "(code **)(*(int *)pTVar1 + 0xb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)pTVar1 + 0xb4)" ( (binary_expression "*(int *)pTVar1 + 0xb4" (pointer_expression "*(int *)pTVar1" * (cast_expression "(int *)pTVar1" ( (type_descriptor "int *" primitive_type (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_38,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_000fccf0:\n          pFVar10 = (p._M_current)->contents;" statement_identifier : (expression_statement "pFVar10 = (p._M_current)->contents;" (assignment_expression "pFVar10 = (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)) ;)) (if_statement "if (pFVar10 != (File_view *)0x0) goto LAB_000fccf7;" if (parenthesized_expression "(pFVar10 != (File_view *)0x0)" ( (binary_expression "pFVar10 != (File_view *)0x0" identifier != (cast_expression "(File_view *)0x0" ( (type_descriptor "File_view *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fccf7;" 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)) ;) (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_000fce30;" 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_000fce30;" goto statement_identifier ;)) }) (else_clause "else {\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }" else (compound_statement "{\n        p._M_current = p._M_current + 1;\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_000fce30;\n      }" { (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)) ;) (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_000fce30;" 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_000fce30;" goto statement_identifier ;)) }))) (expression_statement "pGVar9 = parameters->options_;" (assignment_expression "pGVar9 = parameters->options_" identifier = (field_expression "parameters->options_" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pGVar9 != (General_options *)0x0)" ( (binary_expression "pGVar9 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) (ERROR "}" }))
(translation_unit "void FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    \n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}\n\n" (function_definition "void FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    \n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}" primitive_type (function_declarator "FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)" identifier (parameter_list "(int *param_1,undefined4 param_2,int param_3,int *param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    \n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "uint *local_20 [4];" type_identifier (pointer_declarator "*local_20 [4]" * (array_declarator "local_20 [4]" identifier [ number_literal ])) ;) (expression_statement "piVar1 = *(int **)(DAT_00302378 + 0xc);" (assignment_expression "piVar1 = *(int **)(DAT_00302378 + 0xc)" identifier = (pointer_expression "*(int **)(DAT_00302378 + 0xc)" * (cast_expression "(int **)(DAT_00302378 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_00302378 + 0xc)" ( (binary_expression "DAT_00302378 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }" if (parenthesized_expression "(piVar1 == (int *)0x0)" ( (binary_expression "piVar1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }" { (expression_statement "FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);" (call_expression "FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1)" identifier (argument_list "("../../gold/parameters.h",0x73,"sized_target",param_1)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""sized_target"" " string_content ") , identifier ))) ;) })) (expression_statement "local_38 = param_4[3];" (assignment_expression "local_38 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }" if (parenthesized_expression "(local_38 != 0)" ( (binary_expression "local_38 != 0" identifier != number_literal) )) (compound_statement "{\n    local_38 = *(int *)(local_38 + 8);\n  }" { (expression_statement "local_38 = *(int *)(local_38 + 8);" (assignment_expression "local_38 = *(int *)(local_38 + 8)" identifier = (pointer_expression "*(int *)(local_38 + 8)" * (cast_expression "(int *)(local_38 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + 8)" ( (binary_expression "local_38 + 8" identifier + number_literal) ))))) ;) })) (if_statement "if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }" if (parenthesized_expression "(*(int *)(param_3 + 0x1d0) != 0)" ( (binary_expression "*(int *)(param_3 + 0x1d0) != 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }" { (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "__n = piVar4[1] - *piVar4;" (assignment_expression "__n = piVar4[1] - *piVar4" identifier = (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" identifier [ number_literal ]) - (pointer_expression "*piVar4" * identifier))) ;) (if_statement "if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }" if (parenthesized_expression "((int)__n < 0)" ( (binary_expression "(int)__n < 0" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    \n      FUN_00180130();\n    }" { (expression_statement "FUN_00180130();" (call_expression "FUN_00180130()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "__s = (void *)FUN_0017eb70(__n);" (assignment_expression "__s = (void *)FUN_0017eb70(__n)" identifier = (cast_expression "(void *)FUN_0017eb70(__n)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0017eb70(__n)" identifier (argument_list "(__n)" ( identifier ))))) ;) (expression_statement "param_1[0x16] = (int)__s;" (assignment_expression "param_1[0x16] = (int)__s" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) 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_20[0] = (uint *)*param_4;" (assignment_expression "local_20[0] = (uint *)*param_4" (subscript_expression "local_20[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_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(local_20[0] == (uint *)param_4[1])" ( (binary_expression "local_20[0] == (uint *)param_4[1]" (subscript_expression "local_20[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_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }" { (labeled_statement "LAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }" statement_identifier : (if_statement "if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }" if (parenthesized_expression "(*(int *)(param_3 + 0x1d0) != 0)" ( (binary_expression "*(int *)(param_3 + 0x1d0) != 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_00091f40(param_1,param_3,1);\n    }" { (expression_statement "FUN_00091f40(param_1,param_3,1);" (call_expression "FUN_00091f40(param_1,param_3,1)" identifier (argument_list "(param_1,param_3,1)" ( identifier , identifier , number_literal ))) ;) }))) (expression_statement "iVar7 = param_4[3];" (assignment_expression "iVar7 = param_4[3]" identifier = (subscript_expression "param_4[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }" { (expression_statement "FUN_0005cea0(iVar7);" (call_expression "FUN_0005cea0(iVar7)" identifier (argument_list "(iVar7)" ( identifier ))) ;) (expression_statement "FUN_00180780(iVar7,0xc);" (call_expression "FUN_00180780(iVar7,0xc)" identifier (argument_list "(iVar7,0xc)" ( 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 "iVar7 = *(int *)(DAT_00302378 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_00302378 + 8)" identifier = (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }" { (do_statement "do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);" do (compound_statement "{\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    }" { (if_statement "if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" if (parenthesized_expression "(((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0))" ( (binary_expression "((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)" (parenthesized_expression "((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0))" ( (binary_expression "(*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)" (parenthesized_expression "(*(char *)(iVar7 + 0x18b1) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x18b1) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x18b1)" * (cast_expression "(char *)(iVar7 + 0x18b1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18b1)" ( (binary_expression "iVar7 + 0x18b1" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(int *)(iVar7 + 0x5934) == 0)" ( (binary_expression "*(int *)(iVar7 + 0x5934) == 0" (pointer_expression "*(int *)(iVar7 + 0x5934)" * (cast_expression "(int *)(iVar7 + 0x5934)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x5934)" ( (binary_expression "iVar7 + 0x5934" identifier + number_literal) )))) == number_literal) ))) )) || (parenthesized_expression "(local_20[0][5] != 0)" ( (binary_expression "local_20[0][5] != 0" (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" { (if_statement "if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" if (parenthesized_expression "(*(char *)(iVar7 + 0x318d) == '\0')" ( (binary_expression "*(char *)(iVar7 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x318d)" * (cast_expression "(char *)(iVar7 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x318d)" ( (binary_expression "iVar7 + 0x318d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }" { (if_statement "if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }" if (parenthesized_expression "(*(char *)((int)local_20[0] + 0x19) != '\0')" ( (binary_expression "*(char *)((int)local_20[0] + 0x19) != '\0'" (pointer_expression "*(char *)((int)local_20[0] + 0x19)" * (cast_expression "(char *)((int)local_20[0] + 0x19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_20[0] + 0x19)" ( (binary_expression "(int)local_20[0] + 0x19" (cast_expression "(int)local_20[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_20[0]" identifier [ number_literal ])) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }" { (expression_statement "(**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);" (call_expression "(**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38)" (parenthesized_expression "(**(code **)(*piVar1 + 0xac))" ( (pointer_expression "**(code **)(*piVar1 + 0xac)" * (pointer_expression "*(code **)(*piVar1 + 0xac)" * (cast_expression "(code **)(*piVar1 + 0xac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0xac)" ( (binary_expression "*piVar1 + 0xac" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) )) (argument_list "(piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_20[0][2] + 8)" * (cast_expression "(undefined4 *)(local_20[0][2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20[0][2] + 8)" ( (binary_expression "local_20[0][2] + 8" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) + number_literal) )))) , (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) , (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) , identifier ))) ;) })) (if_statement "if (*(int *)(DAT_00302378 + 8) == 0) break;" if (parenthesized_expression "(*(int *)(DAT_00302378 + 8) == 0)" ( (binary_expression "*(int *)(DAT_00302378 + 8) == 0" (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) )))) == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }" if (parenthesized_expression "(*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0')" ( (binary_expression "*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0'" (pointer_expression "*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095)" * (cast_expression "(char *)(*(int *)(DAT_00302378 + 8) + 0x3095)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_00302378 + 8) + 0x3095)" ( (binary_expression "*(int *)(DAT_00302378 + 8) + 0x3095" (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }" { (expression_statement "FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);" (call_expression "FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20)" identifier (argument_list "(param_1,param_2,param_3,local_38,local_20)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;" if (parenthesized_expression "(*(int *)(param_3 + 0x1d0) == 0)" ( (binary_expression "*(int *)(param_3 + 0x1d0) == 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" * (cast_expression "(int *)(param_3 + 0x1d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 0x1d0)" ( (binary_expression "param_3 + 0x1d0" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;)) (if_statement "if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" if (parenthesized_expression "(local_20[0][3] == 9)" ( (binary_expression "local_20[0][3] == 9" (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) == number_literal) )) (compound_statement "{\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" { (expression_statement "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" identifier = (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "uVar2 = local_20[0][4];" (assignment_expression "uVar2 = local_20[0][4]" identifier = (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(uVar8 + 8);" (assignment_expression "iVar7 = *(int *)(uVar8 + 8)" identifier = (pointer_expression "*(int *)(uVar8 + 8)" * (cast_expression "(int *)(uVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);" do (compound_statement "{\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              }" { (if_statement "if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }" if (parenthesized_expression "(((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0'))" ( (binary_expression "((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')" (parenthesized_expression "((char)local_20[0][6] == '\0')" ( (binary_expression "(char)local_20[0][6] == '\0'" (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')" ( (comma_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0'" (assignment_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" identifier = (call_expression "FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" identifier (argument_list "(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" ( (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined4 *)(iVar7 + uVar8 * 8)" * (cast_expression "(undefined4 *)(iVar7 + uVar8 * 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + uVar8 * 8)" ( (binary_expression "iVar7 + uVar8 * 8" identifier + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) , number_literal )))) , (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }" { (expression_statement "uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;" (assignment_expression "uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8" identifier = (binary_expression "*(uint *)(iVar7 + 4 + uVar8 * 8) >> 8" (pointer_expression "*(uint *)(iVar7 + 4 + uVar8 * 8)" * (cast_expression "(uint *)(iVar7 + 4 + uVar8 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4 + uVar8 * 8)" ( (binary_expression "iVar7 + 4 + uVar8 * 8" (binary_expression "iVar7 + 4" identifier + number_literal) + (binary_expression "uVar8 * 8" identifier * number_literal)) )))) >> number_literal)) ;) (if_statement "if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }" if (parenthesized_expression "((uint)param_1[0x2c] <= uVar6)" ( (binary_expression "(uint)param_1[0x2c] <= uVar6" (cast_expression "(uint)param_1[0x2c]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) <= identifier) )) (compound_statement "{\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }" { (expression_statement "uVar6 = uVar6 - param_1[0x2c];" (assignment_expression "uVar6 = uVar6 - param_1[0x2c]" identifier = (binary_expression "uVar6 - param_1[0x2c]" identifier - (subscript_expression "param_1[0x2c]" identifier [ number_literal ]))) ;) (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (if_statement "if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;" if (parenthesized_expression "((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6)" ( (binary_expression "(uint)(piVar4[1] - *piVar4 >> 2) <= uVar6" (call_expression "(uint)(piVar4[1] - *piVar4 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar4[1] - *piVar4 >> 2)" ( (binary_expression "piVar4[1] - *piVar4 >> 2" (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" identifier [ number_literal ]) - (pointer_expression "*piVar4" * identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_000fcf87;" goto statement_identifier ;)) (if_statement "if (param_1[0x16] == 0) goto LAB_000fcf68;" if (parenthesized_expression "(param_1[0x16] == 0)" ( (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_000fcf68;" goto statement_identifier ;)) (expression_statement "piVar4 = (int *)(param_1[0x16] + uVar6 * 4);" (assignment_expression "piVar4 = (int *)(param_1[0x16] + uVar6 * 4)" identifier = (cast_expression "(int *)(param_1[0x16] + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x16] + uVar6 * 4)" ( (binary_expression "param_1[0x16] + uVar6 * 4" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) + (binary_expression "uVar6 * 4" identifier * number_literal)) )))) ;) (expression_statement "*piVar4 = *piVar4 + 1;" (assignment_expression "*piVar4 = *piVar4 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "*piVar4 + 1" (pointer_expression "*piVar4" * identifier) + number_literal)) ;) })) })) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar2 != uVar8)" ( (binary_expression "uVar2 != uVar8" identifier != identifier) )) ;) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;) })) }) (else_clause "else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" else (compound_statement "{\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" { (if_statement "if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" if (parenthesized_expression "(local_20[0][3] != 4)" ( (binary_expression "local_20[0][3] != 4" (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" { (expression_statement "FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "FUN_0005f0b0("../../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 "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" identifier = (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "uVar2 = local_20[0][4];" (assignment_expression "uVar2 = local_20[0][4]" identifier = (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;) (expression_statement "puVar9 = *(undefined4 **)(uVar8 + 8);" (assignment_expression "puVar9 = *(undefined4 **)(uVar8 + 8)" identifier = (pointer_expression "*(undefined4 **)(uVar8 + 8)" * (cast_expression "(undefined4 **)(uVar8 + 8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar8 + 8)" ( (binary_expression "uVar8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" if (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) (compound_statement "{\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);" do (compound_statement "{\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              }" { (while_statement "while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }" while (parenthesized_expression "((char)local_20[0][6] != '\0')" ( (binary_expression "(char)local_20[0][6] != '\0'" (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }" { (expression_statement "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);" (assignment_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" identifier = (call_expression "FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" identifier (argument_list "(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" ( (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*puVar9" * identifier) , number_literal )))) ;) (if_statement "if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }" { (expression_statement "uVar6 = param_1[0x2c];" (assignment_expression "uVar6 = param_1[0x2c]" identifier = (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = (uint)puVar9[1] >> 8;" (assignment_expression "uVar5 = (uint)puVar9[1] >> 8" identifier = (binary_expression "(uint)puVar9[1] >> 8" (cast_expression "(uint)puVar9[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar9[1]" identifier [ number_literal ])) >> number_literal)) ;) (if_statement "if (uVar6 <= uVar5) goto LAB_000fcca6;" if (parenthesized_expression "(uVar6 <= uVar5)" ( (binary_expression "uVar6 <= uVar5" identifier <= identifier) )) (goto_statement "goto LAB_000fcca6;" goto statement_identifier ;)) })) (labeled_statement "LAB_000fcc60:\n                  uVar8 = uVar8 + 1;" statement_identifier : (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;)) (expression_statement "puVar9 = puVar9 + 3;" (assignment_expression "puVar9 = puVar9 + 3" identifier = (binary_expression "puVar9 + 3" identifier + number_literal)) ;) (if_statement "if (uVar2 == uVar8) goto LAB_000fccf0;" if (parenthesized_expression "(uVar2 == uVar8)" ( (binary_expression "uVar2 == uVar8" identifier == identifier) )) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;)) })) (expression_statement "uVar6 = param_1[0x2c];" (assignment_expression "uVar6 = param_1[0x2c]" identifier = (subscript_expression "param_1[0x2c]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = (uint)puVar9[1] >> 8;" (assignment_expression "uVar5 = (uint)puVar9[1] >> 8" identifier = (binary_expression "(uint)puVar9[1] >> 8" (cast_expression "(uint)puVar9[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar9[1]" identifier [ number_literal ])) >> number_literal)) ;) (if_statement "if (uVar5 < uVar6) goto LAB_000fcc60;" if (parenthesized_expression "(uVar5 < uVar6)" ( (binary_expression "uVar5 < uVar6" identifier < identifier) )) (goto_statement "goto LAB_000fcc60;" goto statement_identifier ;)) (labeled_statement "LAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" statement_identifier : (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" identifier = (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" ( (pointer_expression "**(code **)(*param_1 + 0x74)" * (pointer_expression "*(code **)(*param_1 + 0x74)" * (cast_expression "(code **)(*param_1 + 0x74)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + 0x74)" ( (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" * identifier) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;)) (if_statement "if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" if (parenthesized_expression "((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6)" ( (binary_expression "(uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6" (call_expression "(uint)(piVar4[1] - *piVar4 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar4[1] - *piVar4 >> 2)" ( (binary_expression "piVar4[1] - *piVar4 >> 2" (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" identifier [ number_literal ]) - (pointer_expression "*piVar4" * identifier)) >> number_literal) ))) <= (binary_expression "uVar5 - uVar6" identifier - identifier)) )) (compound_statement "{\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" { (labeled_statement "LAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");" statement_identifier : (expression_statement "FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "FUN_0005f0b0("../../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[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" if (parenthesized_expression "(param_1[0x16] == 0)" ( (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" { (labeled_statement "LAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");" statement_identifier : (expression_statement "FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "FUN_0005f0b0("../../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 "piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);" (assignment_expression "piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4)" identifier = (cast_expression "(int *)(param_1[0x16] + (uVar5 - uVar6) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[0x16] + (uVar5 - uVar6) * 4)" ( (binary_expression "param_1[0x16] + (uVar5 - uVar6) * 4" (subscript_expression "param_1[0x16]" identifier [ number_literal ]) + (binary_expression "(uVar5 - uVar6) * 4" (parenthesized_expression "(uVar5 - uVar6)" ( (binary_expression "uVar5 - uVar6" identifier - identifier) )) * number_literal)) )))) ;) (expression_statement "*piVar4 = *piVar4 + 1;" (assignment_expression "*piVar4 = *piVar4 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "*piVar4 + 1" (pointer_expression "*piVar4" * identifier) + number_literal)) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 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 "(uVar2 != uVar8)" ( (binary_expression "uVar2 != uVar8" identifier != identifier) )) ;) (goto_statement "goto LAB_000fccf0;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_000fccf7:\n          FUN_0005cea0(uVar8);" statement_identifier : (expression_statement "FUN_0005cea0(uVar8);" (call_expression "FUN_0005cea0(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;)) (expression_statement "FUN_00180780(uVar8,0xc);" (call_expression "FUN_00180780(uVar8,0xc)" identifier (argument_list "(uVar8,0xc)" ( identifier , number_literal ))) ;) }) (else_clause "else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" else (compound_statement "{\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" { (if_statement "if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }" if (parenthesized_expression "((uint)param_1[10] <= *local_20[0])" ( (binary_expression "(uint)param_1[10] <= *local_20[0]" (cast_expression "(uint)param_1[10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) <= (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ]))) )) (compound_statement "{\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }" { (expression_statement "FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "FUN_0005f0b0("../../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 "iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);" (assignment_expression "iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" identifier = (pointer_expression "*(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" * (cast_expression "(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)param_1[0x11] + *local_20[0] * 4)" ( (binary_expression "*(int *)param_1[0x11] + *local_20[0] * 4" (pointer_expression "*(int *)param_1[0x11]" * (cast_expression "(int *)param_1[0x11]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0x11]" identifier [ number_literal ]))) + (binary_expression "*local_20[0] * 4" (pointer_expression "*local_20[0]" * (subscript_expression "local_20[0]" identifier [ number_literal ])) * number_literal)) ))))) ;) (if_statement "if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" { (expression_statement "FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "FUN_0005f0b0("../../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_000fc7e0(iVar7,local_20[0][4]);" (call_expression "FUN_000fc7e0(iVar7,local_20[0][4])" identifier (argument_list "(iVar7,local_20[0][4])" ( identifier , (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) ))) ;) (expression_statement "(**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);" (call_expression "(**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7)" (parenthesized_expression "(**(code **)(*piVar1 + 0xb4))" ( (pointer_expression "**(code **)(*piVar1 + 0xb4)" * (pointer_expression "*(code **)(*piVar1 + 0xb4)" * (cast_expression "(code **)(*piVar1 + 0xb4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar1 + 0xb4)" ( (binary_expression "*piVar1 + 0xb4" (pointer_expression "*piVar1" * identifier) + number_literal) ))))) )) (argument_list "(piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7)" ( identifier , identifier , identifier , identifier , (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (pointer_expression "*(undefined4 *)(local_20[0][2] + 8)" * (cast_expression "(undefined4 *)(local_20[0][2] + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_20[0][2] + 8)" ( (binary_expression "local_20[0][2] + 8" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) + number_literal) )))) , (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) , (cast_expression "(char)local_20[0][6]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) , (subscript_expression "param_1[0x2c]" identifier [ number_literal ]) , identifier , identifier ))) ;) (labeled_statement "LAB_000fccf0:\n          uVar8 = local_20[0][2];" statement_identifier : (expression_statement "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" identifier = (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ])) ;)) (if_statement "if (uVar8 != 0) goto LAB_000fccf7;" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fccf7;" goto statement_identifier ;)) }))) (expression_statement "local_20[0][2] = 0;" (assignment_expression "local_20[0][2] = 0" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" identifier [ number_literal ]) [ number_literal ]) = number_literal) ;) (expression_statement "local_20[0] = local_20[0] + 7;" (assignment_expression "local_20[0] = local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;" if (parenthesized_expression "((uint *)param_4[1] == local_20[0])" ( (binary_expression "(uint *)param_4[1] == local_20[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_20[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_000fce30;" goto statement_identifier ;)) }) (else_clause "else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" else (compound_statement "{\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" { (expression_statement "local_20[0] = local_20[0] + 7;" (assignment_expression "local_20[0] = local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (binary_expression "local_20[0] + 7" (subscript_expression "local_20[0]" identifier [ number_literal ]) + number_literal)) ;) (if_statement "if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;" if (parenthesized_expression "((uint *)param_4[1] == local_20[0])" ( (binary_expression "(uint *)param_4[1] == local_20[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_20[0]" identifier [ number_literal ])) )) (goto_statement "goto LAB_000fce30;" goto statement_identifier ;)) }))) (expression_statement "iVar7 = *(int *)(DAT_00302378 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_00302378 + 8)" identifier = (pointer_expression "*(int *)(DAT_00302378 + 8)" * (cast_expression "(int *)(DAT_00302378 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00302378 + 8)" ( (binary_expression "DAT_00302378 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0005f0b0("../../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 TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 TYPE) ) 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 TYPE (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_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 TYPE) ) (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 (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) + LIT) )))) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (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 TYPE (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 TYPE (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 = (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) , LIT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) )))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (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 IDENT * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_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 = (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 { (while_statement while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , IDENT , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (pointer_expression * IDENT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * 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) ))) <= (binary_expression IDENT - 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 (parenthesized_expression ( (binary_expression IDENT - IDENT) )) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (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 (cast_expression ( (type_descriptor TYPE) ) (subscript_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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + (binary_expression (pointer_expression * (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 , (subscript_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 (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) + LIT) )))) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ])) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_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 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 ;)) }) (else_clause else (compound_statement { (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 TYPE (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_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)\n\n{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    \n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}" (primitive_type "void") (function_declarator "FUN_000fcab0(int *param_1,undefined4 param_2,int param_3,int *param_4)" (identifier "FUN_000fcab0") (parameter_list "(int *param_1,undefined4 param_2,int param_3,int *param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  char cVar3;\n  int *piVar4;\n  void *__s;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  uint uVar8;\n  size_t __n;\n  undefined4 *puVar9;\n  int local_38;\n  uint *local_20 [4];\n  \n  piVar1 = *(int **)(DAT_00302378 + 0xc);\n  if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }\n  local_38 = param_4[3];\n  if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }\n  if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }\n  local_20[0] = (uint *)*param_4;\n  if (local_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }\n  iVar7 = *(int *)(DAT_00302378 + 8);\n  if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }\n                    \n  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "uint *local_20 [4];" (type_identifier "uint") (pointer_declarator "*local_20 [4]" (* "*") (array_declarator "local_20 [4]" (identifier "local_20") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "piVar1 = *(int **)(DAT_00302378 + 0xc);" (assignment_expression "piVar1 = *(int **)(DAT_00302378 + 0xc)" (identifier "piVar1") (= "=") (pointer_expression "*(int **)(DAT_00302378 + 0xc)" (* "*") (cast_expression "(int **)(DAT_00302378 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_00302378 + 0xc)" (( "(") (binary_expression "DAT_00302378 + 0xc" (identifier "DAT_00302378") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar1 == (int *)0x0) {\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }" (if "if") (parenthesized_expression "(piVar1 == (int *)0x0)" (( "(") (binary_expression "piVar1 == (int *)0x0" (identifier "piVar1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);\n  }" ({ "{") (expression_statement "FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);" (call_expression "FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1)" (identifier "FUN_0005f0b0") (argument_list "("../../gold/parameters.h",0x73,"sized_target",param_1)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x73") (, ",") (string_literal ""sized_target"" (" """) (string_content "sized_target") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (expression_statement "local_38 = param_4[3];" (assignment_expression "local_38 = param_4[3]" (identifier "local_38") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (local_38 != 0) {\n    local_38 = *(int *)(local_38 + 8);\n  }" (if "if") (parenthesized_expression "(local_38 != 0)" (( "(") (binary_expression "local_38 != 0" (identifier "local_38") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_38 = *(int *)(local_38 + 8);\n  }" ({ "{") (expression_statement "local_38 = *(int *)(local_38 + 8);" (assignment_expression "local_38 = *(int *)(local_38 + 8)" (identifier "local_38") (= "=") (pointer_expression "*(int *)(local_38 + 8)" (* "*") (cast_expression "(int *)(local_38 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + 8)" (( "(") (binary_expression "local_38 + 8" (identifier "local_38") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_3 + 0x1d0) != 0) {\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_3 + 0x1d0) != 0)" (( "(") (binary_expression "*(int *)(param_3 + 0x1d0) != 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" (* "*") (cast_expression "(int *)(param_3 + 0x1d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1d0)" (( "(") (binary_expression "param_3 + 0x1d0" (identifier "param_3") (+ "+") (number_literal "0x1d0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n    __n = piVar4[1] - *piVar4;\n    if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }\n    __s = (void *)FUN_0017eb70(__n);\n    param_1[0x16] = (int)__s;\n    memset(__s,0,__n);\n  }" ({ "{") (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x74)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x74)" (* "*") (cast_expression "(code **)(*param_1 + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x74)" (( "(") (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "__n = piVar4[1] - *piVar4;" (assignment_expression "__n = piVar4[1] - *piVar4" (identifier "__n") (= "=") (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")))) (; ";")) (if_statement "if ((int)__n < 0) {\n                    \n      FUN_00180130();\n    }" (if "if") (parenthesized_expression "((int)__n < 0)" (( "(") (binary_expression "(int)__n < 0" (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00180130();\n    }" ({ "{") (expression_statement "FUN_00180130();" (call_expression "FUN_00180130()" (identifier "FUN_00180130") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "__s = (void *)FUN_0017eb70(__n);" (assignment_expression "__s = (void *)FUN_0017eb70(__n)" (identifier "__s") (= "=") (cast_expression "(void *)FUN_0017eb70(__n)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0017eb70(__n)" (identifier "FUN_0017eb70") (argument_list "(__n)" (( "(") (identifier "__n") () ")"))))) (; ";")) (expression_statement "param_1[0x16] = (int)__s;" (assignment_expression "param_1[0x16] = (int)__s" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (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_20[0] = (uint *)*param_4;" (assignment_expression "local_20[0] = (uint *)*param_4" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (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_20[0] == (uint *)param_4[1]) {\nLAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(local_20[0] == (uint *)param_4[1])" (( "(") (binary_expression "local_20[0] == (uint *)param_4[1]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (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_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }\n    iVar7 = param_4[3];\n    if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }\n    return;\n  }" ({ "{") (labeled_statement "LAB_000fce30:\n    if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }" (statement_identifier "LAB_000fce30") (: ":") (if_statement "if (*(int *)(param_3 + 0x1d0) != 0) {\n      FUN_00091f40(param_1,param_3,1);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_3 + 0x1d0) != 0)" (( "(") (binary_expression "*(int *)(param_3 + 0x1d0) != 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" (* "*") (cast_expression "(int *)(param_3 + 0x1d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1d0)" (( "(") (binary_expression "param_3 + 0x1d0" (identifier "param_3") (+ "+") (number_literal "0x1d0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00091f40(param_1,param_3,1);\n    }" ({ "{") (expression_statement "FUN_00091f40(param_1,param_3,1);" (call_expression "FUN_00091f40(param_1,param_3,1)" (identifier "FUN_00091f40") (argument_list "(param_1,param_3,1)" (( "(") (identifier "param_1") (, ",") (identifier "param_3") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar7 = param_4[3];" (assignment_expression "iVar7 = param_4[3]" (identifier "iVar7") (= "=") (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (iVar7 != 0) {\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0005cea0(iVar7);\n      FUN_00180780(iVar7,0xc);\n      param_4[3] = 0;\n    }" ({ "{") (expression_statement "FUN_0005cea0(iVar7);" (call_expression "FUN_0005cea0(iVar7)" (identifier "FUN_0005cea0") (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "FUN_00180780(iVar7,0xc);" (call_expression "FUN_00180780(iVar7,0xc)" (identifier "FUN_00180780") (argument_list "(iVar7,0xc)" (( "(") (identifier "iVar7") (, ",") (number_literal "0xc") () ")"))) (; ";")) (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 "iVar7 = *(int *)(DAT_00302378 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_00302378 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_00302378 + 8)" (* "*") (cast_expression "(int *)(DAT_00302378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00302378 + 8)" (( "(") (binary_expression "DAT_00302378 + 8" (identifier "DAT_00302378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar7 != 0) {\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);\n  }" ({ "{") (do_statement "do {\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    } while (iVar7 != 0);" (do "do") (compound_statement "{\n      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      iVar7 = *(int *)(DAT_00302378 + 8);\n    }" ({ "{") (if_statement "if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)) {\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }\n      else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" (if "if") (parenthesized_expression "(((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0))" (( "(") (binary_expression "((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||\n         (local_20[0][5] != 0)" (parenthesized_expression "((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0))" (( "(") (binary_expression "(*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)" (parenthesized_expression "(*(char *)(iVar7 + 0x18b1) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x18b1) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x18b1)" (* "*") (cast_expression "(char *)(iVar7 + 0x18b1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18b1)" (( "(") (binary_expression "iVar7 + 0x18b1" (identifier "iVar7") (+ "+") (number_literal "0x18b1")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar7 + 0x5934) == 0)" (( "(") (binary_expression "*(int *)(iVar7 + 0x5934) == 0" (pointer_expression "*(int *)(iVar7 + 0x5934)" (* "*") (cast_expression "(int *)(iVar7 + 0x5934)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x5934)" (( "(") (binary_expression "iVar7 + 0x5934" (identifier "iVar7") (+ "+") (number_literal "0x5934")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(local_20[0][5] != 0)" (( "(") (binary_expression "local_20[0][5] != 0" (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }\n        local_20[0][2] = 0;\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" ({ "{") (if_statement "if (*(char *)(iVar7 + 0x318d) == '\0') {\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }\n        else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" (if "if") (parenthesized_expression "(*(char *)(iVar7 + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)(iVar7 + 0x318d) == '\0'" (pointer_expression "*(char *)(iVar7 + 0x318d)" (* "*") (cast_expression "(char *)(iVar7 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x318d)" (( "(") (binary_expression "iVar7 + 0x318d" (identifier "iVar7") (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }\n          if (*(int *)(DAT_00302378 + 8) == 0) break;\n          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }\n          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;\n          if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\nLAB_000fccf7:\n          FUN_0005cea0(uVar8);\n          FUN_00180780(uVar8,0xc);\n        }" ({ "{") (if_statement "if (*(char *)((int)local_20[0] + 0x19) != '\0') {\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }" (if "if") (parenthesized_expression "(*(char *)((int)local_20[0] + 0x19) != '\0')" (( "(") (binary_expression "*(char *)((int)local_20[0] + 0x19) != '\0'" (pointer_expression "*(char *)((int)local_20[0] + 0x19)" (* "*") (cast_expression "(char *)((int)local_20[0] + 0x19)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_20[0] + 0x19)" (( "(") (binary_expression "(int)local_20[0] + 0x19" (cast_expression "(int)local_20[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (+ "+") (number_literal "0x19")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            (**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);\n          }" ({ "{") (expression_statement "(**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38);" (call_expression "(**(code **)(*piVar1 + 0xac))\n                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38)" (parenthesized_expression "(**(code **)(*piVar1 + 0xac))" (( "(") (pointer_expression "**(code **)(*piVar1 + 0xac)" (* "*") (pointer_expression "*(code **)(*piVar1 + 0xac)" (* "*") (cast_expression "(code **)(*piVar1 + 0xac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar1 + 0xac)" (( "(") (binary_expression "*piVar1 + 0xac" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "0xac")) () ")"))))) () ")")) (argument_list "(piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                       (char)local_20[0][6],param_1[0x2c],local_38)" (( "(") (identifier "piVar1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(local_20[0][2] + 8)" (* "*") (cast_expression "(undefined4 *)(local_20[0][2] + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_20[0][2] + 8)" (( "(") (binary_expression "local_20[0][2] + 8" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "5") (] "]")) (, ",") (cast_expression "(char)local_20[0][6]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "6") (] "]"))) (, ",") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]")) (, ",") (identifier "local_38") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(DAT_00302378 + 8) == 0) break;" (if "if") (parenthesized_expression "(*(int *)(DAT_00302378 + 8) == 0)" (( "(") (binary_expression "*(int *)(DAT_00302378 + 8) == 0" (pointer_expression "*(int *)(DAT_00302378 + 8)" (* "*") (cast_expression "(int *)(DAT_00302378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00302378 + 8)" (( "(") (binary_expression "DAT_00302378 + 8" (identifier "DAT_00302378") (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0'" (pointer_expression "*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095)" (* "*") (cast_expression "(char *)(*(int *)(DAT_00302378 + 8) + 0x3095)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_00302378 + 8) + 0x3095)" (( "(") (binary_expression "*(int *)(DAT_00302378 + 8) + 0x3095" (pointer_expression "*(int *)(DAT_00302378 + 8)" (* "*") (cast_expression "(int *)(DAT_00302378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00302378 + 8)" (( "(") (binary_expression "DAT_00302378 + 8" (identifier "DAT_00302378") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x3095")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);\n          }" ({ "{") (expression_statement "FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);" (call_expression "FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20)" (identifier "FUN_000fc9d0") (argument_list "(param_1,param_2,param_3,local_38,local_20)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "local_38") (, ",") (identifier "local_20") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;" (if "if") (parenthesized_expression "(*(int *)(param_3 + 0x1d0) == 0)" (( "(") (binary_expression "*(int *)(param_3 + 0x1d0) == 0" (pointer_expression "*(int *)(param_3 + 0x1d0)" (* "*") (cast_expression "(int *)(param_3 + 0x1d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 0x1d0)" (( "(") (binary_expression "param_3 + 0x1d0" (identifier "param_3") (+ "+") (number_literal "0x1d0")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fccf0;" (goto "goto") (statement_identifier "LAB_000fccf0") (; ";"))) (if_statement "if (local_20[0][3] == 9) {\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }\n          else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" (if "if") (parenthesized_expression "(local_20[0][3] == 9)" (( "(") (binary_expression "local_20[0][3] == 9" (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "9")) () ")")) (compound_statement "{\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            iVar7 = *(int *)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" ({ "{") (expression_statement "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" (identifier "uVar8") (= "=") (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar2 = local_20[0][4];" (assignment_expression "uVar2 = local_20[0][4]" (identifier "uVar2") (= "=") (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "iVar7 = *(int *)(uVar8 + 8);" (assignment_expression "iVar7 = *(int *)(uVar8 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(uVar8 + 8)" (* "*") (cast_expression "(int *)(uVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar8 + 8)" (( "(") (binary_expression "uVar8 + 8" (identifier "uVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" (if "if") (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar8 = 0;\n              do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              } while (uVar2 != uVar8);" (do "do") (compound_statement "{\n                if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }\n                uVar8 = uVar8 + 1;\n              }" ({ "{") (if_statement "if (((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }" (if "if") (parenthesized_expression "(((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0'))" (( "(") (binary_expression "((char)local_20[0][6] == '\0') ||\n                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')" (parenthesized_expression "((char)local_20[0][6] == '\0')" (( "(") (binary_expression "(char)local_20[0][6] == '\0'" (cast_expression "(char)local_20[0][6]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "6") (] "]"))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')" (( "(") (comma_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0'" (assignment_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" (identifier "cVar3") (= "=") (call_expression "FUN_000c2160(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" (identifier "FUN_000c2160") (argument_list "(local_20[0][5],param_1,local_20[0][1],\n                                         *(undefined4 *)(iVar7 + uVar8 * 8),0)" (( "(") (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "param_1") (, ",") (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + uVar8 * 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + uVar8 * 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + uVar8 * 8)" (( "(") (binary_expression "iVar7 + uVar8 * 8" (identifier "iVar7") (+ "+") (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8"))) () ")")))) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;\n                  if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }\n                }" ({ "{") (expression_statement "uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;" (assignment_expression "uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8" (identifier "uVar6") (= "=") (binary_expression "*(uint *)(iVar7 + 4 + uVar8 * 8) >> 8" (pointer_expression "*(uint *)(iVar7 + 4 + uVar8 * 8)" (* "*") (cast_expression "(uint *)(iVar7 + 4 + uVar8 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4 + uVar8 * 8)" (( "(") (binary_expression "iVar7 + 4 + uVar8 * 8" (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) (+ "+") (binary_expression "uVar8 * 8" (identifier "uVar8") (* "*") (number_literal "8"))) () ")")))) (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if ((uint)param_1[0x2c] <= uVar6) {\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }" (if "if") (parenthesized_expression "((uint)param_1[0x2c] <= uVar6)" (( "(") (binary_expression "(uint)param_1[0x2c] <= uVar6" (cast_expression "(uint)param_1[0x2c]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]"))) (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\n                    uVar6 = uVar6 - param_1[0x2c];\n                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;\n                    if (param_1[0x16] == 0) goto LAB_000fcf68;\n                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);\n                    *piVar4 = *piVar4 + 1;\n                  }" ({ "{") (expression_statement "uVar6 = uVar6 - param_1[0x2c];" (assignment_expression "uVar6 = uVar6 - param_1[0x2c]" (identifier "uVar6") (= "=") (binary_expression "uVar6 - param_1[0x2c]" (identifier "uVar6") (- "-") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]")))) (; ";")) (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x74)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x74)" (* "*") (cast_expression "(code **)(*param_1 + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x74)" (( "(") (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (if_statement "if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;" (if "if") (parenthesized_expression "((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6)" (( "(") (binary_expression "(uint)(piVar4[1] - *piVar4 >> 2) <= uVar6" (call_expression "(uint)(piVar4[1] - *piVar4 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar4[1] - *piVar4 >> 2)" (( "(") (binary_expression "piVar4[1] - *piVar4 >> 2" (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar6")) () ")")) (goto_statement "goto LAB_000fcf87;" (goto "goto") (statement_identifier "LAB_000fcf87") (; ";"))) (if_statement "if (param_1[0x16] == 0) goto LAB_000fcf68;" (if "if") (parenthesized_expression "(param_1[0x16] == 0)" (( "(") (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fcf68;" (goto "goto") (statement_identifier "LAB_000fcf68") (; ";"))) (expression_statement "piVar4 = (int *)(param_1[0x16] + uVar6 * 4);" (assignment_expression "piVar4 = (int *)(param_1[0x16] + uVar6 * 4)" (identifier "piVar4") (= "=") (cast_expression "(int *)(param_1[0x16] + uVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x16] + uVar6 * 4)" (( "(") (binary_expression "param_1[0x16] + uVar6 * 4" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (+ "+") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*piVar4 = *piVar4 + 1;" (assignment_expression "*piVar4 = *piVar4 + 1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "*piVar4 + 1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar2 != uVar8)" (( "(") (binary_expression "uVar2 != uVar8" (identifier "uVar2") (!= "!=") (identifier "uVar8")) () ")")) (; ";")) (goto_statement "goto LAB_000fccf0;" (goto "goto") (statement_identifier "LAB_000fccf0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" (else "else") (compound_statement "{\n            if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }\n            uVar8 = local_20[0][2];\n            uVar2 = local_20[0][4];\n            puVar9 = *(undefined4 **)(uVar8 + 8);\n            if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }\n          }" ({ "{") (if_statement "if (local_20[0][3] != 4) {\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" (if "if") (parenthesized_expression "(local_20[0][3] != 4)" (( "(") (binary_expression "local_20[0][3] != 4" (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                    \n              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");\n            }" ({ "{") (expression_statement "FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");" (call_expression "FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan")" (identifier "FUN_0005f0b0") (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 "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" (identifier "uVar8") (= "=") (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar2 = local_20[0][4];" (assignment_expression "uVar2 = local_20[0][4]" (identifier "uVar2") (= "=") (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "puVar9 = *(undefined4 **)(uVar8 + 8);" (assignment_expression "puVar9 = *(undefined4 **)(uVar8 + 8)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(uVar8 + 8)" (* "*") (cast_expression "(undefined4 **)(uVar8 + 8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uVar8 + 8)" (( "(") (binary_expression "uVar8 + 8" (identifier "uVar8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (uVar2 != 0) {\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" (if "if") (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar8 = 0;\n              do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);\n              goto LAB_000fccf0;\n            }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              } while (uVar2 != uVar8);" (do "do") (compound_statement "{\n                while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }\n                uVar6 = param_1[0x2c];\n                uVar5 = (uint)puVar9[1] >> 8;\n                if (uVar5 < uVar6) goto LAB_000fcc60;\nLAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);\n                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }\n                if (param_1[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }\n                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);\n                *piVar4 = *piVar4 + 1;\n                uVar8 = uVar8 + 1;\n                puVar9 = puVar9 + 3;\n              }" ({ "{") (while_statement "while ((char)local_20[0][6] != '\0') {\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }" (while "while") (parenthesized_expression "((char)local_20[0][6] != '\0')" (( "(") (binary_expression "(char)local_20[0][6] != '\0'" (cast_expression "(char)local_20[0][6]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "6") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);\n                  if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }\nLAB_000fcc60:\n                  uVar8 = uVar8 + 1;\n                  puVar9 = puVar9 + 3;\n                  if (uVar2 == uVar8) goto LAB_000fccf0;\n                }" ({ "{") (expression_statement "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);" (assignment_expression "cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" (identifier "cVar3") (= "=") (call_expression "FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" (identifier "FUN_000c2160") (argument_list "(local_20[0][5],param_1,local_20[0][1],*puVar9,0)" (( "(") (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "param_1") (, ",") (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') {\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    uVar6 = param_1[0x2c];\n                    uVar5 = (uint)puVar9[1] >> 8;\n                    if (uVar6 <= uVar5) goto LAB_000fcca6;\n                  }" ({ "{") (expression_statement "uVar6 = param_1[0x2c];" (assignment_expression "uVar6 = param_1[0x2c]" (identifier "uVar6") (= "=") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]"))) (; ";")) (expression_statement "uVar5 = (uint)puVar9[1] >> 8;" (assignment_expression "uVar5 = (uint)puVar9[1] >> 8" (identifier "uVar5") (= "=") (binary_expression "(uint)puVar9[1] >> 8" (cast_expression "(uint)puVar9[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if (uVar6 <= uVar5) goto LAB_000fcca6;" (if "if") (parenthesized_expression "(uVar6 <= uVar5)" (( "(") (binary_expression "uVar6 <= uVar5" (identifier "uVar6") (<= "<=") (identifier "uVar5")) () ")")) (goto_statement "goto LAB_000fcca6;" (goto "goto") (statement_identifier "LAB_000fcca6") (; ";"))) (} "}"))) (labeled_statement "LAB_000fcc60:\n                  uVar8 = uVar8 + 1;" (statement_identifier "LAB_000fcc60") (: ":") (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar9 = puVar9 + 3;" (assignment_expression "puVar9 = puVar9 + 3" (identifier "puVar9") (= "=") (binary_expression "puVar9 + 3" (identifier "puVar9") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (uVar2 == uVar8) goto LAB_000fccf0;" (if "if") (parenthesized_expression "(uVar2 == uVar8)" (( "(") (binary_expression "uVar2 == uVar8" (identifier "uVar2") (== "==") (identifier "uVar8")) () ")")) (goto_statement "goto LAB_000fccf0;" (goto "goto") (statement_identifier "LAB_000fccf0") (; ";"))) (} "}"))) (expression_statement "uVar6 = param_1[0x2c];" (assignment_expression "uVar6 = param_1[0x2c]" (identifier "uVar6") (= "=") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]"))) (; ";")) (expression_statement "uVar5 = (uint)puVar9[1] >> 8;" (assignment_expression "uVar5 = (uint)puVar9[1] >> 8" (identifier "uVar5") (= "=") (binary_expression "(uint)puVar9[1] >> 8" (cast_expression "(uint)puVar9[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar9[1]" (identifier "puVar9") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if (uVar5 < uVar6) goto LAB_000fcc60;" (if "if") (parenthesized_expression "(uVar5 < uVar6)" (( "(") (binary_expression "uVar5 < uVar6" (identifier "uVar5") (< "<") (identifier "uVar6")) () ")")) (goto_statement "goto LAB_000fcc60;" (goto "goto") (statement_identifier "LAB_000fcc60") (; ";"))) (labeled_statement "LAB_000fcca6:\n                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (statement_identifier "LAB_000fcca6") (: ":") (expression_statement "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);" (assignment_expression "piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1)" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(*param_1 + 0x74))(param_1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*param_1 + 0x74))(param_1)" (parenthesized_expression "(**(code **)(*param_1 + 0x74))" (( "(") (pointer_expression "**(code **)(*param_1 + 0x74)" (* "*") (pointer_expression "*(code **)(*param_1 + 0x74)" (* "*") (cast_expression "(code **)(*param_1 + 0x74)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + 0x74)" (( "(") (binary_expression "*param_1 + 0x74" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x74")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";"))) (if_statement "if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" (if "if") (parenthesized_expression "((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6)" (( "(") (binary_expression "(uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6" (call_expression "(uint)(piVar4[1] - *piVar4 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar4[1] - *piVar4 >> 2)" (( "(") (binary_expression "piVar4[1] - *piVar4 >> 2" (binary_expression "piVar4[1] - *piVar4" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (binary_expression "uVar5 - uVar6" (identifier "uVar5") (- "-") (identifier "uVar6"))) () ")")) (compound_statement "{\nLAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");\n                }" ({ "{") (labeled_statement "LAB_000fcf87:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");" (statement_identifier "LAB_000fcf87") (: ":") (expression_statement "FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");" (call_expression "FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc")" (identifier "FUN_0005f0b0") (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[0x16] == 0) {\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" (if "if") (parenthesized_expression "(param_1[0x16] == 0)" (( "(") (binary_expression "param_1[0x16] == 0" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");\n                }" ({ "{") (labeled_statement "LAB_000fcf68:\n                    \n                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");" (statement_identifier "LAB_000fcf68") (: ":") (expression_statement "FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");" (call_expression "FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc")" (identifier "FUN_0005f0b0") (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 "piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);" (assignment_expression "piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4)" (identifier "piVar4") (= "=") (cast_expression "(int *)(param_1[0x16] + (uVar5 - uVar6) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[0x16] + (uVar5 - uVar6) * 4)" (( "(") (binary_expression "param_1[0x16] + (uVar5 - uVar6) * 4" (subscript_expression "param_1[0x16]" (identifier "param_1") ([ "[") (number_literal "0x16") (] "]")) (+ "+") (binary_expression "(uVar5 - uVar6) * 4" (parenthesized_expression "(uVar5 - uVar6)" (( "(") (binary_expression "uVar5 - uVar6" (identifier "uVar5") (- "-") (identifier "uVar6")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*piVar4 = *piVar4 + 1;" (assignment_expression "*piVar4 = *piVar4 + 1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "*piVar4 + 1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 1" (identifier "uVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar9 = puVar9 + 3;" (assignment_expression "puVar9 = puVar9 + 3" (identifier "puVar9") (= "=") (binary_expression "puVar9 + 3" (identifier "puVar9") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar2 != uVar8)" (( "(") (binary_expression "uVar2 != uVar8" (identifier "uVar2") (!= "!=") (identifier "uVar8")) () ")")) (; ";")) (goto_statement "goto LAB_000fccf0;" (goto "goto") (statement_identifier "LAB_000fccf0") (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000fccf7:\n          FUN_0005cea0(uVar8);" (statement_identifier "LAB_000fccf7") (: ":") (expression_statement "FUN_0005cea0(uVar8);" (call_expression "FUN_0005cea0(uVar8)" (identifier "FUN_0005cea0") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";"))) (expression_statement "FUN_00180780(uVar8,0xc);" (call_expression "FUN_00180780(uVar8,0xc)" (identifier "FUN_00180780") (argument_list "(uVar8,0xc)" (( "(") (identifier "uVar8") (, ",") (number_literal "0xc") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" (else "else") (compound_statement "{\n          if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }\n          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);\n          if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }\n          FUN_000fc7e0(iVar7,local_20[0][4]);\n          (**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);\nLAB_000fccf0:\n          uVar8 = local_20[0][2];\n          if (uVar8 != 0) goto LAB_000fccf7;\n        }" ({ "{") (if_statement "if ((uint)param_1[10] <= *local_20[0]) {\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }" (if "if") (parenthesized_expression "((uint)param_1[10] <= *local_20[0])" (( "(") (binary_expression "(uint)param_1[10] <= *local_20[0]" (cast_expression "(uint)param_1[10]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (<= "<=") (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")))) () ")")) (compound_statement "{\n                    \n            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");\n          }" ({ "{") (expression_statement "FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");" (call_expression "FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs")" (identifier "FUN_0005f0b0") (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 "iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);" (assignment_expression "iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" (* "*") (cast_expression "(int *)(*(int *)param_1[0x11] + *local_20[0] * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)param_1[0x11] + *local_20[0] * 4)" (( "(") (binary_expression "*(int *)param_1[0x11] + *local_20[0] * 4" (pointer_expression "*(int *)param_1[0x11]" (* "*") (cast_expression "(int *)param_1[0x11]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0x11]" (identifier "param_1") ([ "[") (number_literal "0x11") (] "]")))) (+ "+") (binary_expression "*local_20[0] * 4" (pointer_expression "*local_20[0]" (* "*") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar7 == 0) {\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");\n          }" ({ "{") (expression_statement "FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");" (call_expression "FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs")" (identifier "FUN_0005f0b0") (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_000fc7e0(iVar7,local_20[0][4]);" (call_expression "FUN_000fc7e0(iVar7,local_20[0][4])" (identifier "FUN_000fc7e0") (argument_list "(iVar7,local_20[0][4])" (( "(") (identifier "iVar7") (, ",") (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) () ")"))) (; ";")) (expression_statement "(**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);" (call_expression "(**(code **)(*piVar1 + 0xb4))\n                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7)" (parenthesized_expression "(**(code **)(*piVar1 + 0xb4))" (( "(") (pointer_expression "**(code **)(*piVar1 + 0xb4)" (* "*") (pointer_expression "*(code **)(*piVar1 + 0xb4)" (* "*") (cast_expression "(code **)(*piVar1 + 0xb4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar1 + 0xb4)" (( "(") (binary_expression "*piVar1 + 0xb4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "0xb4")) () ")"))))) () ")")) (argument_list "(piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],\n                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],\n                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7)" (( "(") (identifier "piVar1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_1") (, ",") (subscript_expression "local_20[0][1]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "local_20[0][3]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "3") (] "]")) (, ",") (pointer_expression "*(undefined4 *)(local_20[0][2] + 8)" (* "*") (cast_expression "(undefined4 *)(local_20[0][2] + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_20[0][2] + 8)" (( "(") (binary_expression "local_20[0][2] + 8" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")")))) (, ",") (subscript_expression "local_20[0][4]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "local_20[0][5]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "5") (] "]")) (, ",") (cast_expression "(char)local_20[0][6]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_20[0][6]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "6") (] "]"))) (, ",") (subscript_expression "param_1[0x2c]" (identifier "param_1") ([ "[") (number_literal "0x2c") (] "]")) (, ",") (identifier "local_38") (, ",") (identifier "iVar7") () ")"))) (; ";")) (labeled_statement "LAB_000fccf0:\n          uVar8 = local_20[0][2];" (statement_identifier "LAB_000fccf0") (: ":") (expression_statement "uVar8 = local_20[0][2];" (assignment_expression "uVar8 = local_20[0][2]" (identifier "uVar8") (= "=") (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]"))) (; ";"))) (if_statement "if (uVar8 != 0) goto LAB_000fccf7;" (if "if") (parenthesized_expression "(uVar8 != 0)" (( "(") (binary_expression "uVar8 != 0" (identifier "uVar8") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fccf7;" (goto "goto") (statement_identifier "LAB_000fccf7") (; ";"))) (} "}")))) (expression_statement "local_20[0][2] = 0;" (assignment_expression "local_20[0][2] = 0" (subscript_expression "local_20[0][2]" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20[0] = local_20[0] + 7;" (assignment_expression "local_20[0] = local_20[0] + 7" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_20[0] + 7" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "7"))) (; ";")) (if_statement "if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;" (if "if") (parenthesized_expression "((uint *)param_4[1] == local_20[0])" (( "(") (binary_expression "(uint *)param_4[1] == local_20[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_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")) (goto_statement "goto LAB_000fce30;" (goto "goto") (statement_identifier "LAB_000fce30") (; ";"))) (} "}")) (else_clause "else {\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" (else "else") (compound_statement "{\n        local_20[0] = local_20[0] + 7;\n        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;\n      }" ({ "{") (expression_statement "local_20[0] = local_20[0] + 7;" (assignment_expression "local_20[0] = local_20[0] + 7" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (binary_expression "local_20[0] + 7" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (+ "+") (number_literal "7"))) (; ";")) (if_statement "if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;" (if "if") (parenthesized_expression "((uint *)param_4[1] == local_20[0])" (( "(") (binary_expression "(uint *)param_4[1] == local_20[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_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) () ")")) (goto_statement "goto LAB_000fce30;" (goto "goto") (statement_identifier "LAB_000fce30") (; ";"))) (} "}")))) (expression_statement "iVar7 = *(int *)(DAT_00302378 + 8);" (assignment_expression "iVar7 = *(int *)(DAT_00302378 + 8)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(DAT_00302378 + 8)" (* "*") (cast_expression "(int *)(DAT_00302378 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00302378 + 8)" (( "(") (binary_expression "DAT_00302378 + 8" (identifier "DAT_00302378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0005f0b0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0005f0b0") (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: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_scan_relocs(Sized_relobj_file<32,_false> * this, Symbol_table *
   symtab, Layout * layout, Read_relocs_data * rd) */

void __thiscall
var_23::Sized_relobj_file<32,_false>::do_scan_relocs
          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,type_6 *layout,
          Read_relocs_data *rd)

{
  type_8 *var_1;
  size_t var_15;
  type_1 *var_22;
  type_2 *var_26;
  type_3 *var_17;
  bool bVar5;
  int *piVar6;
  type_1 *var_20;
  type_1 var_21;
  type_4 *var_12;
  type_5 *var_10;
  size_t var_18;
  type_1 var_19;
  type_6 *in_stack_ffffffa8;
  type_5 *var_3;
  type_7 p;
  
  var_1 = parameters->target_;
  if (var_1 == (type_8 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("../../gold/parameters.h",0x73,"sized_target");
  }
  var_3 = rd->local_symbols;
  if (var_3 != (type_5 *)0x0) {
    var_3 = (type_5 *)var_3->data_;
  }
  if (layout->incremental_inputs_ != (type_9 *)0x0) {
    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object
                      [0x1d])(this);
    var_19 = piVar6[1] - *piVar6;
    if ((int)var_19 < 0) {
                    /* WARNING: Subroutine does not return */
      var_4();
    }
    var_20 = (type_1 *)var_5(var_19);
    (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_ = var_20;
    in_stack_ffffffa8 = (type_6 *)0x0;
    var_6(var_20,0,var_19);
  }
  p._M_current = (rd->relocs).
                 super__Vector_base<var_23::var_7,_std::allocator<var_23::var_7>var_8>.
                 _M_impl._M_start;
  if (p._M_current ==
      (rd->relocs).super__Vector_base<var_23::var_7,var_24::allocator<var_23::var_7>var_8>.
      _M_impl._M_finish) {
LAB_000fce30:
    if (layout->incremental_inputs_ != (type_9 *)0x0) {
      Relobj::var_9((type_10 *)this,layout,true);
      in_stack_ffffffa8 = layout;
    }
    var_10 = rd->local_symbols;
    if (var_10 != (type_5 *)0x0) {
      File_view::~type_5(var_10,(int)in_stack_ffffffa8);
      var_11(var_10,0xc);
      rd->local_symbols = (type_5 *)0x0;
    }
    return;
  }
  var_12 = parameters->options_;
  if (var_12 != (type_4 *)0x0) {
    do {
      if ((((var_12->gc_sections_).value == false) && (var_12->icf_status_ == var_13)) ||
         ((p._M_current)->output_section != (type_11 *)0x0)) {
        if ((var_12->relocatable_).value == false) {
          if ((p._M_current)->is_data_section_allocated != false) {
            in_stack_ffffffa8 = (type_6 *)(type_1)(p._M_current)->needs_special_offset_handling;
            (**(type_12 **)(*(int *)var_1 + 0xac))
                      (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,in_stack_ffffffa8,this->local_symbol_count_,
                       var_3);
          }
          if (parameters->options_ == (type_4 *)0x0) break;
          if ((parameters->options_->emit_relocs_).value != false) {
            var_14(this,symtab,layout,(type_3 *)var_3,&p);
          }
          if (layout->incremental_inputs_ == (type_9 *)0x0) goto LAB_000fccf0;
          if ((p._M_current)->sh_type == 9) {
            var_10 = (p._M_current)->contents;
            var_15 = (p._M_current)->reloc_count;
            var_17 = var_10->data_;
            if (var_15 != 0) {
              var_18 = 0;
              do {
                if (((p._M_current)->needs_special_offset_handling == false) ||
                   (bVar5 = type_11::var_16
                                      ((p._M_current)->output_section,(type_10 *)this,
                                       (p._M_current)->data_shndx,
                                       (ulonglong)*(type_1 *)(var_17 + var_18 * 8)), bVar5)) {
                  var_19 = *(type_1 *)(var_17 + var_18 * 8 + 4) >> 8;
                  if (this->local_symbol_count_ <= var_19) {
                    var_19 = var_19 - this->local_symbol_count_;
                    piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.
                                      super_Object._vptr_Object[0x1d])(this);
                    if ((type_1)(piVar6[1] - *piVar6 >> 2) <= var_19) goto LAB_000fcf87;
                    var_20 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;
                    if (var_20 == (type_1 *)0x0) goto LAB_000fcf68;
                    var_20 = var_20 + var_19;
                    *var_20 = *var_20 + 1;
                  }
                }
                var_18 = var_18 + 1;
              } while (var_15 != var_18);
              goto LAB_000fccf0;
            }
          }
          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_15 = (p._M_current)->reloc_count;
            var_20 = (type_1 *)var_10->data_;
            if (var_15 != 0) {
              var_18 = 0;
              do {
                while ((p._M_current)->needs_special_offset_handling != false) {
                  bVar5 = type_11::var_16
                                    ((p._M_current)->output_section,(type_10 *)this,
                                     (p._M_current)->data_shndx,(ulonglong)*var_20);
                  if (bVar5) {
                    var_19 = this->local_symbol_count_;
                    var_21 = var_20[1] >> 8;
                    if (var_19 <= var_21) goto LAB_000fcca6;
                  }
LAB_000fcc60:
                  var_18 = var_18 + 1;
                  var_20 = var_20 + 3;
                  if (var_15 == var_18) goto LAB_000fccf0;
                }
                var_19 = this->local_symbol_count_;
                var_21 = var_20[1] >> 8;
                if (var_21 < var_19) goto LAB_000fcc60;
LAB_000fcca6:
                piVar6 = (int *)(*(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                                  _vptr_Object[0x1d])(this);
                if ((type_1)(piVar6[1] - *piVar6 >> 2) <= var_21 - var_19) {
LAB_000fcf87:
                    /* WARNING: Subroutine does not return */
                  var_2("../../gold/object.h",0x5f3,"count_incremental_reloc");
                }
                var_22 = (this->super_Sized_relobj<32,_false>).super_Relobj.reloc_counts_;
                if (var_22 == (type_1 *)0x0) {
LAB_000fcf68:
                    /* WARNING: Subroutine does not return */
                  var_2("../../gold/object.h",0x5f4,"count_incremental_reloc");
                }
                var_22 = var_22 + (var_21 - var_19);
                *var_22 = *var_22 + 1;
                var_18 = var_18 + 1;
                var_20 = var_20 + 3;
              } while (var_15 != var_18);
              goto LAB_000fccf0;
            }
          }
LAB_000fccf7:
          File_view::~type_5(var_10,(int)in_stack_ffffffa8);
          in_stack_ffffffa8 = (type_6 *)0xc;
          var_11(var_10,0xc);
        }
        else {
          if ((this->super_Sized_relobj<32,_false>).super_Relobj.super_Object.shnum_ <=
              (p._M_current)->reloc_shndx) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gold/object.h",0x549,"relocatable_relocs");
          }
          var_26 = (((this->super_Sized_relobj<32,_false>).super_Relobj.map_to_relocatable_relocs_)
                    ->
                    super__Vector_base<var_23::type_2*,var_24::allocator<var_23::type_2*>var_8>var_25
                    )._M_impl._M_start[(p._M_current)->reloc_shndx];
          if (var_26 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
            var_2("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          in_stack_ffffffa8 = (type_6 *)(p._M_current)->reloc_count;
          std::vector<unsigned_char,var_24::allocator<unsigned_char>var_8>::var_27
                    (&var_26->reloc_strategies_,(type_13)in_stack_ffffffa8);
          (**(type_12 **)(*(int *)var_1 + 0xb4))
                    (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_26);
LAB_000fccf0:
          var_10 = (p._M_current)->contents;
          if (var_10 != (type_5 *)0x0) goto LAB_000fccf7;
        }
        (p._M_current)->contents = (type_5 *)0x0;
        p._M_current = p._M_current + 1;
        if ((rd->relocs).
            super__Vector_base<var_23::var_7,var_24::allocator<var_23::var_7>var_8>._M_impl.
            _M_finish == p._M_current) goto LAB_000fce30;
      }
      else {
        p._M_current = p._M_current + 1;
        if ((rd->relocs).
            super__Vector_base<var_23::var_7,var_24::allocator<var_23::var_7>var_8>._M_impl.
            _M_finish == p._M_current) goto LAB_000fce30;
      }
      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: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (primitive_type) 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: (primitive_type) 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)) (identifier)))))) (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: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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: (primitive_type)) 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: (primitive_type) 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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (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: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (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: (primitive_type)) 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: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) right: (number_literal))))) (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)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))) (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: (primitive_type) 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: (primitive_type) 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: (primitive_type) 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: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) (identifier) (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: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (number_literal)))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (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: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (while_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)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) (identifier) (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) (pointer_expression argument: (identifier)) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) 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: (binary_expression left: (identifier) 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: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (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: (cast_expression type: (type_descriptor type: (type_identifier)) value: (subscript_expression argument: (identifier) index: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))) right: (binary_expression left: (pointer_expression argument: (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) (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (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: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal)) right: (number_literal))))) (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)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (number_literal))) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (subscript_expression argument: (identifier) index: (number_literal)) index: (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: (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)))) alternative: (else_clause (compound_statement (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: (primitive_type) 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))))))))

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

void MASKED(int *param_1,undefined4 param_2,int param_3,int *param_4)

{
  int *piVar1;
  uint uVar2;
  char cVar3;
  int *piVar4;
  void *__s;
  uint uVar5;
  uint uVar6;
  int iVar7;
  uint uVar8;
  size_t __n;
  undefined4 *puVar9;
  int local_38;
  uint *local_20 [4];
  
  piVar1 = *(int **)(DAT_00302378 + 0xc);
  if (piVar1 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    FUN_0005f0b0("../../gold/parameters.h",0x73,"sized_target",param_1);
  }
  local_38 = param_4[3];
  if (local_38 != 0) {
    local_38 = *(int *)(local_38 + 8);
  }
  if (*(int *)(param_3 + 0x1d0) != 0) {
    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
    __n = piVar4[1] - *piVar4;
    if ((int)__n < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00180130();
    }
    __s = (void *)FUN_0017eb70(__n);
    param_1[0x16] = (int)__s;
    memset(__s,0,__n);
  }
  local_20[0] = (uint *)*param_4;
  if (local_20[0] == (uint *)param_4[1]) {
LAB_000fce30:
    if (*(int *)(param_3 + 0x1d0) != 0) {
      FUN_00091f40(param_1,param_3,1);
    }
    iVar7 = param_4[3];
    if (iVar7 != 0) {
      FUN_0005cea0(iVar7);
      FUN_00180780(iVar7,0xc);
      param_4[3] = 0;
    }
    return;
  }
  iVar7 = *(int *)(DAT_00302378 + 8);
  if (iVar7 != 0) {
    do {
      if (((*(char *)(iVar7 + 0x18b1) == '\0') && (*(int *)(iVar7 + 0x5934) == 0)) ||
         (local_20[0][5] != 0)) {
        if (*(char *)(iVar7 + 0x318d) == '\0') {
          if (*(char *)((int)local_20[0] + 0x19) != '\0') {
            (**(code **)(*piVar1 + 0xac))
                      (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],
                       *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],
                       (char)local_20[0][6],param_1[0x2c],local_38);
          }
          if (*(int *)(DAT_00302378 + 8) == 0) break;
          if (*(char *)(*(int *)(DAT_00302378 + 8) + 0x3095) != '\0') {
            FUN_000fc9d0(param_1,param_2,param_3,local_38,local_20);
          }
          if (*(int *)(param_3 + 0x1d0) == 0) goto LAB_000fccf0;
          if (local_20[0][3] == 9) {
            uVar8 = local_20[0][2];
            uVar2 = local_20[0][4];
            iVar7 = *(int *)(uVar8 + 8);
            if (uVar2 != 0) {
              uVar8 = 0;
              do {
                if (((char)local_20[0][6] == '\0') ||
                   (cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],
                                         *(undefined4 *)(iVar7 + uVar8 * 8),0), cVar3 != '\0')) {
                  uVar6 = *(uint *)(iVar7 + 4 + uVar8 * 8) >> 8;
                  if ((uint)param_1[0x2c] <= uVar6) {
                    uVar6 = uVar6 - param_1[0x2c];
                    piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
                    if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar6) goto LAB_000fcf87;
                    if (param_1[0x16] == 0) goto LAB_000fcf68;
                    piVar4 = (int *)(param_1[0x16] + uVar6 * 4);
                    *piVar4 = *piVar4 + 1;
                  }
                }
                uVar8 = uVar8 + 1;
              } while (uVar2 != uVar8);
              goto LAB_000fccf0;
            }
          }
          else {
            if (local_20[0][3] != 4) {
                    /* WARNING: Subroutine does not return */
              FUN_0005f0b0("../../gold/reloc.cc",0x222,"incremental_relocs_scan");
            }
            uVar8 = local_20[0][2];
            uVar2 = local_20[0][4];
            puVar9 = *(undefined4 **)(uVar8 + 8);
            if (uVar2 != 0) {
              uVar8 = 0;
              do {
                while ((char)local_20[0][6] != '\0') {
                  cVar3 = FUN_000c2160(local_20[0][5],param_1,local_20[0][1],*puVar9,0);
                  if (cVar3 != '\0') {
                    uVar6 = param_1[0x2c];
                    uVar5 = (uint)puVar9[1] >> 8;
                    if (uVar6 <= uVar5) goto LAB_000fcca6;
                  }
LAB_000fcc60:
                  uVar8 = uVar8 + 1;
                  puVar9 = puVar9 + 3;
                  if (uVar2 == uVar8) goto LAB_000fccf0;
                }
                uVar6 = param_1[0x2c];
                uVar5 = (uint)puVar9[1] >> 8;
                if (uVar5 < uVar6) goto LAB_000fcc60;
LAB_000fcca6:
                piVar4 = (int *)(**(code **)(*param_1 + 0x74))(param_1);
                if ((uint)(piVar4[1] - *piVar4 >> 2) <= uVar5 - uVar6) {
LAB_000fcf87:
                    /* WARNING: Subroutine does not return */
                  FUN_0005f0b0("../../gold/object.h",0x5f3,"count_incremental_reloc");
                }
                if (param_1[0x16] == 0) {
LAB_000fcf68:
                    /* WARNING: Subroutine does not return */
                  FUN_0005f0b0("../../gold/object.h",0x5f4,"count_incremental_reloc");
                }
                piVar4 = (int *)(param_1[0x16] + (uVar5 - uVar6) * 4);
                *piVar4 = *piVar4 + 1;
                uVar8 = uVar8 + 1;
                puVar9 = puVar9 + 3;
              } while (uVar2 != uVar8);
              goto LAB_000fccf0;
            }
          }
LAB_000fccf7:
          FUN_0005cea0(uVar8);
          FUN_00180780(uVar8,0xc);
        }
        else {
          if ((uint)param_1[10] <= *local_20[0]) {
                    /* WARNING: Subroutine does not return */
            FUN_0005f0b0("../../gold/object.h",0x549,"relocatable_relocs");
          }
          iVar7 = *(int *)(*(int *)param_1[0x11] + *local_20[0] * 4);
          if (iVar7 == 0) {
                    /* WARNING: Subroutine does not return */
            FUN_0005f0b0("../../gold/reloc.cc",0x1dc,"do_scan_relocs");
          }
          FUN_000fc7e0(iVar7,local_20[0][4]);
          (**(code **)(*piVar1 + 0xb4))
                    (piVar1,param_2,param_3,param_1,local_20[0][1],local_20[0][3],
                     *(undefined4 *)(local_20[0][2] + 8),local_20[0][4],local_20[0][5],
                     (char)local_20[0][6],param_1[0x2c],local_38,iVar7);
LAB_000fccf0:
          uVar8 = local_20[0][2];
          if (uVar8 != 0) goto LAB_000fccf7;
        }
        local_20[0][2] = 0;
        local_20[0] = local_20[0] + 7;
        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;
      }
      else {
        local_20[0] = local_20[0] + 7;
        if ((uint *)param_4[1] == local_20[0]) goto LAB_000fce30;
      }
      iVar7 = *(int *)(DAT_00302378 + 8);
    } while (iVar7 != 0);
  }
                    /* WARNING: Subroutine does not return */
  FUN_0005f0b0("../../gold/parameters.h",0x5c,"options");
}

