
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

void gold::Dynobj::create_gnu_hash_table
               (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,
               uchar **pphash,uint *phashlen)

{
  bool bVar1;
  byte bVar2;
  Target_info *pTVar3;
  uint uVar4;
  Symbol *pSVar5;
  pointer puVar6;
  int iVar7;
  uint uVar8;
  byte *local_50;
  Symbol *sym;
  uint local_44;
  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> unhashed_dynsyms;
  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> hashed_dynsyms;
  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;
  
  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_start = (pointer)0x0;
  uVar4 = (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
               _M_finish -
          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
               _M_start;
  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_finish = (pointer)0x0;
  uVar8 = (int)uVar4 >> 2;
  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */
  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&unhashed_dynsyms,uVar8);
  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start
       = (pointer)0x0;
  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish
       = (pointer)0x0;
  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */
  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&hashed_dynsyms,uVar8);
  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =
       (pointer)0x0;
  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish
       = (pointer)0x0;
  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  if (0x3fffffff < uVar8) {
                    /* WARNING: Subroutine does not return */
    std::__throw_length_error("vector::reserve");
  }
  if (uVar8 != 0) {
    puVar6 = (pointer)operator_new(uVar4);
    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(dynsym_hashvals.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start);
    }
    uVar8 = 0;
    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);
    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
         = puVar6;
    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_finish = puVar6;
    do {
      sym = *(Symbol **)
             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                   _M_impl._M_start + uVar8);
      bVar2 = sym->field_0x2b;
      if ((bVar2 & 2) == 0) {
        if ((sym->field_0x2a & 7) == 0) {
          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&
             (((uint)((sym->u1_).output_segment)->output_lists_[3].
                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;
        }
        else if ((sym->field_0x2a & 7) != 4) {
LAB_000c57ad:
          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;
        }
        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
            _M_impl._M_finish ==
            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
            _M_impl._M_end_of_storage) {
          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::
          _M_realloc_insert<gold::Symbol*_const&>
                    (&unhashed_dynsyms,
                     (iterator)
                     unhashed_dynsyms.
                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                     _M_finish,&sym);
        }
        else {
          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
           _M_impl._M_finish = sym;
          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl
          ._M_finish = unhashed_dynsyms.
                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                       _M_finish + 1;
        }
      }
      else {
LAB_000c5810:
        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl
            ._M_finish ==
            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl
            ._M_end_of_storage) {
          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::
          _M_realloc_insert<gold::Symbol*_const&>
                    (&hashed_dynsyms,
                     (iterator)
                     hashed_dynsyms.
                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                     _M_finish,&sym);
        }
        else {
          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
           _M_finish = sym;
          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
          _M_finish = hashed_dynsyms.
                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                      _M_finish + 1;
        }
        local_44 = 0x1505;
        local_50 = (byte *)sym->name_;
        bVar2 = *local_50;
        while (bVar2 != 0) {
          local_50 = local_50 + 1;
          local_44 = (uint)bVar2 + local_44 * 0x21;
          bVar2 = *local_50;
        }
        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_finish ==
            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
            _M_end_of_storage) {
          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>
                    (&dynsym_hashvals,
                     (iterator)
                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>
                     ._M_impl._M_finish,&local_44);
        }
        else {
          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
           _M_finish = local_44;
          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
          _M_finish = dynsym_hashvals.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_finish + 1;
        }
      }
      uVar8 = uVar8 + 4;
    } while (uVar4 != uVar8);
  }
  iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
               _M_impl._M_finish -
          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
               _M_impl._M_start >> 2;
  uVar4 = param_2;
  if (iVar7 == 0) {
LAB_000c566d:
    if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x69,"target");
    }
    pTVar3 = parameters->target_->pti_;
    iVar7 = pTVar3->size;
    bVar1 = pTVar3->is_big_endian;
    if (iVar7 == 0x20) {
      if (bVar1 == false) {
        sized_create_gnu_hash_table<32,_false>
                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);
      }
      else {
        sized_create_gnu_hash_table<32,_true>
                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);
      }
    }
    else {
      if (iVar7 != 0x40) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");
      }
      if (bVar1 == false) {
                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */
        sized_create_gnu_hash_table<64,_false>
                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);
      }
      else {
        sized_create_gnu_hash_table<64,_true>
                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);
      }
    }
    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(dynsym_hashvals.
                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
                      _M_start);
    }
    if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(hashed_dynsyms.
                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                      _M_start);
    }
    if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
        _M_start != (pointer)0x0) {
      operator_delete(unhashed_dynsyms.
                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                      _M_start);
    }
    return;
  }
  pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
            _M_impl._M_start;
  if (param_2 != 0) {
    uVar4 = iVar7 + param_2;
    uVar8 = param_2;
    do {
      pSVar5->dynsym_index_ = uVar8;
      uVar8 = uVar8 + 1;
      if (uVar8 == uVar4) goto LAB_000c566d;
      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
               _M_impl._M_start[uVar8 - param_2];
    } while (uVar8 != 0);
  }
                    /* WARNING: Subroutine does not return */
  do_gold_unreachable("../../gold/symtab.h",0x1a2,"set_dynsym_index");
}



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

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

{
  char cVar1;
  byte bVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  uint uVar7;
  byte *local_50;
  undefined4 *local_48;
  int local_44;
  int *local_40;
  undefined4 *local_3c;
  undefined4 *local_38;
  int local_34;
  undefined4 *local_30;
  undefined4 *local_2c;
  int *local_28;
  int *local_24;
  int *local_20;
  
  local_40 = (int *)0x0;
  iVar3 = param_1[1] - *param_1;
  local_3c = (undefined4 *)0x0;
  uVar7 = iVar3 >> 2;
  local_38 = (undefined4 *)0x0;
                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */
  FUN_000c8a30(&local_40,uVar7);
  local_34 = 0;
  local_30 = (undefined4 *)0x0;
  local_2c = (undefined4 *)0x0;
                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */
  FUN_000c8a30(&local_34,uVar7);
  local_28 = (int *)0x0;
  local_24 = (int *)0x0;
  local_20 = (int *)0x0;
  if (0x3fffffff < uVar7) {
                    /* WARNING: Subroutine does not return */
    FUN_0028dc10("vector::reserve");
  }
  if (uVar7 != 0) {
    piVar5 = (int *)FUN_00246670(iVar3);
    if (local_28 != (int *)0x0) {
      FUN_00248220(local_28);
    }
    iVar6 = 0;
    local_20 = (int *)((int)piVar5 + iVar3);
    local_28 = piVar5;
    local_24 = piVar5;
    do {
      local_48 = *(undefined4 **)(*param_1 + iVar6);
      bVar2 = *(byte *)((int)local_48 + 0x2b);
      if ((bVar2 & 2) == 0) {
        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {
          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&
             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;
        }
        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {
LAB_000c57ad:
          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;
        }
        if (local_3c == local_38) {
          FUN_000a82c0(&local_40,local_3c,&local_48);
        }
        else {
          *local_3c = local_48;
          local_3c = local_3c + 1;
        }
      }
      else {
LAB_000c5810:
        if (local_30 == local_2c) {
          FUN_000a82c0(&local_34,local_30,&local_48);
        }
        else {
          *local_30 = local_48;
          local_30 = local_30 + 1;
        }
        local_44 = 0x1505;
        local_50 = (byte *)*local_48;
        bVar2 = *local_50;
        while (bVar2 != 0) {
          local_50 = local_50 + 1;
          local_44 = (uint)bVar2 + local_44 * 0x21;
          bVar2 = *local_50;
        }
        if (local_24 == local_20) {
          FUN_000ab210(&local_28,local_24,&local_44);
        }
        else {
          *local_24 = local_44;
          local_24 = local_24 + 1;
        }
      }
      iVar6 = iVar6 + 4;
    } while (iVar3 != iVar6);
  }
  iVar6 = (int)local_3c - (int)local_40 >> 2;
  iVar3 = param_2;
  if (iVar6 == 0) {
LAB_000c566d:
    if (*(int *)(DAT_004144e8 + 0xc) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);
    }
    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);
    iVar6 = *piVar5;
    cVar1 = (char)piVar5[1];
    if (iVar6 == 0x20) {
      if (cVar1 == '\0') {
        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);
      }
      else {
        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);
      }
    }
    else {
      if (iVar6 != 0x40) {
                    /* WARNING: Subroutine does not return */
        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);
      }
      if (cVar1 == '\0') {
                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */
        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);
      }
      else {
        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);
      }
    }
    if (local_28 != (int *)0x0) {
      FUN_00248220(local_28);
    }
    if (local_34 != 0) {
      FUN_00248220(local_34);
    }
    if (local_40 != (int *)0x0) {
      FUN_00248220(local_40);
    }
    return;
  }
  iVar4 = *local_40;
  if (param_2 != 0) {
    iVar3 = iVar6 + param_2;
    iVar6 = param_2;
    do {
      *(int *)(iVar4 + 0x14) = iVar6;
      iVar6 = iVar6 + 1;
      if (iVar6 == iVar3) goto LAB_000c566d;
      iVar4 = local_40[iVar6 - param_2];
    } while (iVar6 != 0);
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");
}


CALL 0x000b4846
ADD EAX,0x34ea6b
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x64
MOV EDI,dword ptr [EBP + 0x8]
MOV ESI,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + -0x54],EAX
MOV dword ptr [EBP + -0x3c],0x0
MOV EAX,dword ptr [EDI + 0x4]
SUB EAX,dword ptr [EDI]
MOV dword ptr [EBP + -0x38],0x0
MOV EBX,EAX
MOV dword ptr [EBP + -0x50],EAX
LEA EAX,[EBP + -0x3c]
SAR EBX,0x2
MOV dword ptr [EBP + -0x34],0x0
PUSH EBX
PUSH EAX
MOV dword ptr [EBP + -0x5c],EAX
CALL 0x000c8a30
POP ECX
POP EAX
PUSH EBX
LEA EAX,[EBP + -0x30]
PUSH EAX
MOV dword ptr [EBP + -0x30],0x0
MOV dword ptr [EBP + -0x2c],0x0
MOV dword ptr [EBP + -0x28],0x0
MOV dword ptr [EBP + -0x58],EAX
CALL 0x000c8a30
ADD ESP,0x10
MOV dword ptr [EBP + -0x24],0x0
MOV dword ptr [EBP + -0x20],0x0
MOV dword ptr [EBP + -0x1c],0x0
CMP EBX,0x3fffffff
JA 0x000c58f5
TEST EBX,EBX
JNZ 0x000c5748
MOV ECX,dword ptr [EBP + -0x3c]
MOV EDX,dword ptr [EBP + -0x38]
SUB EDX,ECX
SAR EDX,0x2
JZ 0x000c58b7
MOV EAX,dword ptr [ECX]
TEST ESI,ESI
JZ 0x000c58be
LEA EBX,[ESI*0x4 + 0x0]
ADD EDX,ESI
SUB ECX,EBX
JMP 0x000c5663
MOV EAX,dword ptr [ECX + ESI*0x4]
TEST ESI,ESI
JZ 0x000c58be
MOV dword ptr [EAX + 0x14],ESI
ADD ESI,0x1
CMP ESI,EDX
JNZ 0x000c5658
MOV EAX,dword ptr [EBP + -0x54]
LEA EAX,[EAX + 0x4e8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x000c58dc
MOV EAX,dword ptr [EAX + 0x4]
MOV ECX,dword ptr [EAX]
MOVZX EAX,byte ptr [EAX + 0x4]
CMP ECX,0x20
JZ 0x000c5720
CMP ECX,0x40
JNZ 0x000c5907
TEST AL,AL
JNZ 0x000c5708
SUB ESP,0xc
LEA EAX,[EBP + -0x24]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x000c9ab0
MOV EAX,dword ptr [EBP + -0x24]
ADD ESP,0x20
TEST EAX,EAX
JZ 0x000c56d1
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x30]
TEST EAX,EAX
JZ 0x000c56e7
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x3c]
TEST EAX,EAX
JZ 0x000c56fd
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
LEA EAX,[EBP + -0x24]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x000c9540
JMP 0x000c56b8
TEST AL,AL
JZ 0x000c589c
SUB ESP,0xc
LEA EAX,[EBP + -0x24]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x000c8b10
JMP 0x000c56b8
SUB ESP,0xc
PUSH dword ptr [EBP + -0x50]
MOV EBX,dword ptr [EBP + -0x54]
CALL 0x00246670
MOV dword ptr [EBP + -0x4c],EAX
MOV EAX,dword ptr [EBP + -0x24]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000c5772
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
CALL 0x00248220
ADD ESP,0x10
MOV EAX,dword ptr [EBP + -0x4c]
XOR EBX,EBX
MOV dword ptr [EBP + -0x24],EAX
MOV dword ptr [EBP + -0x20],EAX
ADD EAX,dword ptr [EBP + -0x50]
MOV dword ptr [EBP + -0x1c],EAX
LEA EAX,[EBP + -0x40]
MOV dword ptr [EBP + -0x60],EAX
LEA EAX,[EBP + -0x24]
MOV dword ptr [EBP + -0x64],EAX
JMP 0x000c57ce
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JNZ 0x000c57a4
TEST CL,0x20
JNZ 0x000c57b2
MOV EDX,dword ptr [EAX + 0x8]
TEST byte ptr [EDX + 0x2c],0x1
JNZ 0x000c57b2
AND ECX,0x10
JZ 0x000c5810
MOV EDX,dword ptr [EBP + -0x38]
CMP EDX,dword ptr [EBP + -0x34]
JZ 0x000c57f5
MOV dword ptr [EDX],EAX
ADD EDX,0x4
MOV dword ptr [EBP + -0x38],EDX
ADD EBX,0x4
CMP dword ptr [EBP + -0x50],EBX
JZ 0x000c562b
MOV EAX,dword ptr [EDI]
MOV EAX,dword ptr [EAX + EBX*0x1]
MOVZX ECX,byte ptr [EAX + 0x2b]
MOV dword ptr [EBP + -0x44],EAX
TEST CL,0x2
JNZ 0x000c5810
MOVZX EDX,byte ptr [EAX + 0x2a]
AND EDX,0x7
JZ 0x000c5798
CMP DL,0x4
JNZ 0x000c57ad
MOV EDX,dword ptr [EBP + -0x38]
CMP EDX,dword ptr [EBP + -0x34]
JNZ 0x000c57ba
SUB ESP,0x4
LEA EAX,[EBP + -0x44]
PUSH EAX
PUSH EDX
PUSH dword ptr [EBP + -0x5c]
CALL 0x000a82c0
ADD ESP,0x10
JMP 0x000c57c2
MOV EDX,dword ptr [EBP + -0x2c]
CMP EDX,dword ptr [EBP + -0x28]
JZ 0x000c5870
MOV dword ptr [EDX],EAX
ADD EDX,0x4
MOV dword ptr [EBP + -0x2c],EDX
MOV EAX,dword ptr [EBP + -0x44]
MOV ECX,0x1505
MOV EAX,dword ptr [EAX]
LEA EDX,[EAX + 0x1]
MOVZX EAX,byte ptr [EAX]
TEST AL,AL
JZ 0x000c5858
MOV dword ptr [EBP + -0x4c],EDX
LEA ESI,[ESI]
NOP
MOV EDX,ECX
ADD dword ptr [EBP + -0x4c],0x1
SHL EDX,0x5
ADD EAX,EDX
ADD ECX,EAX
MOV EAX,dword ptr [EBP + -0x4c]
MOVZX EAX,byte ptr [EAX + -0x1]
TEST AL,AL
JNZ 0x000c5840
MOV dword ptr [EBP + -0x40],ECX
MOV EAX,dword ptr [EBP + -0x20]
CMP EAX,dword ptr [EBP + -0x1c]
JZ 0x000c5888
MOV dword ptr [EAX],ECX
ADD EAX,0x4
MOV dword ptr [EBP + -0x20],EAX
JMP 0x000c57c2
SUB ESP,0x4
LEA EAX,[EBP + -0x44]
PUSH EAX
PUSH EDX
PUSH dword ptr [EBP + -0x58]
CALL 0x000a82c0
ADD ESP,0x10
JMP 0x000c5820
SUB ESP,0x4
PUSH dword ptr [EBP + -0x60]
PUSH EAX
PUSH dword ptr [EBP + -0x64]
CALL 0x000ab210
JMP 0x000c5805
SUB ESP,0xc
LEA EAX,[EBP + -0x24]
PUSH dword ptr [EBP + 0x14]
PUSH dword ptr [EBP + 0x10]
PUSH EDX
PUSH EAX
PUSH dword ptr [EBP + -0x58]
CALL 0x000c9030
JMP 0x000c56b8
MOV EDX,ESI
JMP 0x000c566d
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0x4
LEA EAX,[EBX + 0xffee5904]
PUSH EAX
LEA EAX,[EBX + 0xffee2f2e]
PUSH 0x1a2
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x54]
PUSH EDX
LEA EAX,[EBX + 0xffee59a8]
PUSH EAX
LEA EAX,[EBX + 0xffece26d]
PUSH 0x69
PUSH EAX
CALL 0x000da200
MOV EBX,dword ptr [EBP + -0x54]
SUB ESP,0xc
LEA EAX,[EBX + 0xffee519a]
PUSH EAX
CALL 0x0028dc10
MOV EBX,dword ptr [EBP + -0x54]
PUSH EAX
LEA EAX,[EBX + 0xffee5920]
PUSH EAX
LEA EAX,[EBX + 0xffee5170]
PUSH 0x493
PUSH EAX
CALL 0x000da200
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */\n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */\n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}\n\n" comment (function_definition "void FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */\n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */\n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" primitive_type (function_declarator "FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */\n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */\n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "int *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int *local_20;" primitive_type (pointer_declarator "*local_20" * identifier) ;) (expression_statement "local_40 = (int *)0x0;" (assignment_expression "local_40 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = param_1[1] - *param_1;" (assignment_expression "iVar3 = param_1[1] - *param_1" identifier = (binary_expression "param_1[1] - *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) - (pointer_expression "*param_1" * identifier))) ;) (expression_statement "local_3c = (undefined4 *)0x0;" (assignment_expression "local_3c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = iVar3 >> 2;" (assignment_expression "uVar7 = iVar3 >> 2" identifier = (binary_expression "iVar3 >> 2" identifier >> number_literal)) ;) (expression_statement "local_38 = (undefined4 *)0x0;" (assignment_expression "local_38 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "FUN_000c8a30(&local_40,uVar7);" (call_expression "FUN_000c8a30(&local_40,uVar7)" identifier (argument_list "(&local_40,uVar7)" ( (pointer_expression "&local_40" & identifier) , identifier ))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = (undefined4 *)0x0;" (assignment_expression "local_30 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (undefined4 *)0x0;" (assignment_expression "local_2c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "FUN_000c8a30(&local_34,uVar7);" (call_expression "FUN_000c8a30(&local_34,uVar7)" identifier (argument_list "(&local_34,uVar7)" ( (pointer_expression "&local_34" & identifier) , identifier ))) ;) (expression_statement "local_28 = (int *)0x0;" (assignment_expression "local_28 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = (int *)0x0;" (assignment_expression "local_24 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_20 = (int *)0x0;" (assignment_expression "local_20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0x3fffffff < uVar7) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0028dc10("vector::reserve");\n  }" if (parenthesized_expression "(0x3fffffff < uVar7)" ( (binary_expression "0x3fffffff < uVar7" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0028dc10("vector::reserve");\n  }" { comment (expression_statement "FUN_0028dc10("vector::reserve");" (call_expression "FUN_0028dc10("vector::reserve")" identifier (argument_list "("vector::reserve")" ( (string_literal ""vector::reserve"" " string_content ") ))) ;) })) (if_statement "if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }" { (expression_statement "piVar5 = (int *)FUN_00246670(iVar3);" (assignment_expression "piVar5 = (int *)FUN_00246670(iVar3)" identifier = (cast_expression "(int *)FUN_00246670(iVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))))) ;) (if_statement "if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }" if (parenthesized_expression "(local_28 != (int *)0x0)" ( (binary_expression "local_28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00248220(local_28);\n    }" { (expression_statement "FUN_00248220(local_28);" (call_expression "FUN_00248220(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) })) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "local_20 = (int *)((int)piVar5 + iVar3);" (assignment_expression "local_20 = (int *)((int)piVar5 + iVar3)" identifier = (cast_expression "(int *)((int)piVar5 + iVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + iVar3)" ( (binary_expression "(int)piVar5 + iVar3" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_28 = piVar5;" (assignment_expression "local_28 = piVar5" identifier = identifier) ;) (expression_statement "local_24 = piVar5;" (assignment_expression "local_24 = piVar5" identifier = identifier) ;) (do_statement "do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);" do (compound_statement "{\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    }" { (expression_statement "local_48 = *(undefined4 **)(*param_1 + iVar6);" (assignment_expression "local_48 = *(undefined4 **)(*param_1 + iVar6)" identifier = (pointer_expression "*(undefined4 **)(*param_1 + iVar6)" * (cast_expression "(undefined4 **)(*param_1 + iVar6)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + iVar6)" ( (binary_expression "*param_1 + iVar6" (pointer_expression "*param_1" * identifier) + identifier) ))))) ;) (expression_statement "bVar2 = *(byte *)((int)local_48 + 0x2b);" (assignment_expression "bVar2 = *(byte *)((int)local_48 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)local_48 + 0x2b)" * (cast_expression "(byte *)((int)local_48 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 0x2b)" ( (binary_expression "(int)local_48 + 0x2b" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" if (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }" { (if_statement "if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" if (parenthesized_expression "((*(byte *)((int)local_48 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)local_48 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_48 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_48 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_48 + 0x2a)" * (cast_expression "(byte *)((int)local_48 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 0x2a)" ( (binary_expression "(int)local_48 + 0x2a" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }" { (if_statement "if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;" if (parenthesized_expression "(((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0))" ( (binary_expression "((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)" (parenthesized_expression "((local_48[3] != 0) || ((bVar2 & 0x20) == 0))" ( (binary_expression "(local_48[3] != 0) || ((bVar2 & 0x20) == 0)" (parenthesized_expression "(local_48[3] != 0)" ( (binary_expression "local_48[3] != 0" (subscript_expression "local_48[3]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "((bVar2 & 0x20) == 0)" ( (binary_expression "(bVar2 & 0x20) == 0" (parenthesized_expression "(bVar2 & 0x20)" ( (binary_expression "bVar2 & 0x20" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(local_48[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(local_48[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(local_48[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(local_48[2] + 0x2c) & 1" (pointer_expression "*(byte *)(local_48[2] + 0x2c)" * (cast_expression "(byte *)(local_48[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48[2] + 0x2c)" ( (binary_expression "local_48[2] + 0x2c" (subscript_expression "local_48[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000c57ad;" goto statement_identifier ;)) }) (else_clause "else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" else (if_statement "if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" if (parenthesized_expression "((*(byte *)((int)local_48 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)local_48 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)local_48 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_48 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_48 + 0x2a)" * (cast_expression "(byte *)((int)local_48 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 0x2a)" ( (binary_expression "(int)local_48 + 0x2a" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" { (labeled_statement "LAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" statement_identifier : (if_statement "if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000c5810;" goto statement_identifier ;))) })))) (if_statement "if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" if (parenthesized_expression "(local_3c == local_38)" ( (binary_expression "local_3c == local_38" identifier == identifier) )) (compound_statement "{\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }" { (expression_statement "FUN_000a82c0(&local_40,local_3c,&local_48);" (call_expression "FUN_000a82c0(&local_40,local_3c,&local_48)" identifier (argument_list "(&local_40,local_3c,&local_48)" ( (pointer_expression "&local_40" & identifier) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) }) (else_clause "else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" else (compound_statement "{\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" { (expression_statement "*local_3c = local_48;" (assignment_expression "*local_3c = local_48" (pointer_expression "*local_3c" * identifier) = identifier) ;) (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" else (compound_statement "{\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" { (labeled_statement "LAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" statement_identifier : (if_statement "if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" if (parenthesized_expression "(local_30 == local_2c)" ( (binary_expression "local_30 == local_2c" identifier == identifier) )) (compound_statement "{\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }" { (expression_statement "FUN_000a82c0(&local_34,local_30,&local_48);" (call_expression "FUN_000a82c0(&local_34,local_30,&local_48)" identifier (argument_list "(&local_34,local_30,&local_48)" ( (pointer_expression "&local_34" & identifier) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) }) (else_clause "else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" else (compound_statement "{\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" { (expression_statement "*local_30 = local_48;" (assignment_expression "*local_30 = local_48" (pointer_expression "*local_30" * identifier) = identifier) ;) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) })))) (expression_statement "local_44 = 0x1505;" (assignment_expression "local_44 = 0x1505" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)*local_48;" (assignment_expression "local_50 = (byte *)*local_48" identifier = (cast_expression "(byte *)*local_48" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" identifier = (pointer_expression "*local_50" * identifier)) ;) (while_statement "while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" while (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" { (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = (uint)bVar2 + local_44 * 0x21;" (assignment_expression "local_44 = (uint)bVar2 + local_44 * 0x21" identifier = (binary_expression "(uint)bVar2 + local_44 * 0x21" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_44 * 0x21" identifier * number_literal))) ;) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" identifier = (pointer_expression "*local_50" * identifier)) ;) })) (if_statement "if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" if (parenthesized_expression "(local_24 == local_20)" ( (binary_expression "local_24 == local_20" identifier == identifier) )) (compound_statement "{\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }" { (expression_statement "FUN_000ab210(&local_28,local_24,&local_44);" (call_expression "FUN_000ab210(&local_28,local_24,&local_44)" identifier (argument_list "(&local_28,local_24,&local_44)" ( (pointer_expression "&local_28" & identifier) , identifier , (pointer_expression "&local_44" & identifier) ))) ;) }) (else_clause "else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" else (compound_statement "{\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" { (expression_statement "*local_24 = local_44;" (assignment_expression "*local_24 = local_44" (pointer_expression "*local_24" * identifier) = identifier) ;) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) }))) }))) (expression_statement "iVar6 = iVar6 + 4;" (assignment_expression "iVar6 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != iVar6)" ( (binary_expression "iVar3 != iVar6" identifier != identifier) )) ;) })) (expression_statement "iVar6 = (int)local_3c - (int)local_40 >> 2;" (assignment_expression "iVar6 = (int)local_3c - (int)local_40 >> 2" identifier = (binary_expression "(int)local_3c - (int)local_40 >> 2" (binary_expression "(int)local_3c - (int)local_40" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "iVar3 = param_2;" (assignment_expression "iVar3 = param_2" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }" { (labeled_statement "LAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" statement_identifier : (if_statement "if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" if (parenthesized_expression "(*(int *)(DAT_004144e8 + 0xc) == 0)" ( (binary_expression "*(int *)(DAT_004144e8 + 0xc) == 0" (pointer_expression "*(int *)(DAT_004144e8 + 0xc)" * (cast_expression "(int *)(DAT_004144e8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 0xc)" ( (binary_expression "DAT_004144e8 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" { comment (expression_statement "FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);" (call_expression "FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3)" identifier (argument_list "("../../gold/parameters.h",0x69,"target",iVar3)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") , identifier ))) ;) }))) (expression_statement "piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);" (assignment_expression "piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" identifier = (pointer_expression "*(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_004144e8 + 0xc) + 4)" ( (binary_expression "*(int *)(DAT_004144e8 + 0xc) + 4" (pointer_expression "*(int *)(DAT_004144e8 + 0xc)" * (cast_expression "(int *)(DAT_004144e8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 0xc)" ( (binary_expression "DAT_004144e8 + 0xc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "cVar1 = (char)piVar5[1];" (assignment_expression "cVar1 = (char)piVar5[1]" identifier = (cast_expression "(char)piVar5[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) ;) (if_statement "if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" if (parenthesized_expression "(iVar6 == 0x20)" ( (binary_expression "iVar6 == 0x20" identifier == number_literal) )) (compound_statement "{\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" { (if_statement "if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" else (compound_statement "{\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" else (compound_statement "{\n      if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" { (if_statement "if (iVar6 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }" if (parenthesized_expression "(iVar6 != 0x40)" ( (binary_expression "iVar6 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }" { comment (expression_statement "FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);" (call_expression "FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1)" identifier (argument_list "("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1)" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""create_gnu_hash_table"" " string_content ") , identifier ))) ;) })) (if_statement "if (cVar1 == '\0') {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { comment (expression_statement "FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" else (compound_statement "{\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }))) }))) (if_statement "if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }" if (parenthesized_expression "(local_28 != (int *)0x0)" ( (binary_expression "local_28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00248220(local_28);\n    }" { (expression_statement "FUN_00248220(local_28);" (call_expression "FUN_00248220(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) })) (if_statement "if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }" if (parenthesized_expression "(local_34 != 0)" ( (binary_expression "local_34 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_00248220(local_34);\n    }" { (expression_statement "FUN_00248220(local_34);" (call_expression "FUN_00248220(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) (if_statement "if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }" if (parenthesized_expression "(local_40 != (int *)0x0)" ( (binary_expression "local_40 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00248220(local_40);\n    }" { (expression_statement "FUN_00248220(local_40);" (call_expression "FUN_00248220(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "iVar4 = *local_40;" (assignment_expression "iVar4 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (if_statement "if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }" { (expression_statement "iVar3 = iVar6 + param_2;" (assignment_expression "iVar3 = iVar6 + param_2" identifier = (binary_expression "iVar6 + param_2" identifier + identifier)) ;) (expression_statement "iVar6 = param_2;" (assignment_expression "iVar6 = param_2" identifier = identifier) ;) (do_statement "do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);" do (compound_statement "{\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    }" { (expression_statement "*(int *)(iVar4 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar4 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 == iVar3) goto LAB_000c566d;" if (parenthesized_expression "(iVar6 == iVar3)" ( (binary_expression "iVar6 == iVar3" identifier == identifier) )) (goto_statement "goto LAB_000c566d;" goto statement_identifier ;)) (expression_statement "iVar4 = local_40[iVar6 - param_2];" (assignment_expression "iVar4 = local_40[iVar6 - param_2]" identifier = (subscript_expression "local_40[iVar6 - param_2]" identifier [ (binary_expression "iVar6 - param_2" identifier - identifier) ])) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");" (call_expression "FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x1a2,"set_dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""set_dynsym_index"" " 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/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n\nvoid gold::Dynobj::create_gnu_hash_table\n               (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,\n               uchar **pphash,uint *phashlen)\n\n{\n  bool bVar1;\n  byte bVar2;\n  Target_info *pTVar3;\n  uint uVar4;\n  Symbol *pSVar5;\n  pointer puVar6;\n  int iVar7;\n  uint uVar8;\n  byte *local_50;\n  Symbol *sym;\n  uint local_44;\n  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> unhashed_dynsyms;\n  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> hashed_dynsyms;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;\n  \n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  uVar4 = (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish -\n          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start;\n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  uVar8 = (int)uVar4 >> 2;\n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */\n  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&unhashed_dynsyms,uVar8);\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n       = (pointer)0x0;\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish\n       = (pointer)0x0;\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */\n  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&hashed_dynsyms,uVar8);\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n       (pointer)0x0;\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n       = (pointer)0x0;\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  if (0x3fffffff < uVar8) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error("vector::reserve");\n  }\n  if (uVar8 != 0) {\n    puVar6 = (pointer)operator_new(uVar4);\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    uVar8 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6;\n    do {\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    } while (uVar4 != uVar8);\n  }\n  iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start >> 2;\n  uVar4 = param_2;\n  if (iVar7 == 0) {\nLAB_000c566d:\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar3 = parameters->target_->pti_;\n    iVar7 = pTVar3->size;\n    bVar1 = pTVar3->is_big_endian;\n    if (iVar7 == 0x20) {\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    return;\n  }\n  pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start;\n  if (param_2 != 0) {\n    uVar4 = iVar7 + param_2;\n    uVar8 = param_2;\n    do {\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    } while (uVar8 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}\n\n" comment comment comment (function_definition "void gold::Dynobj::create_gnu_hash_table\n               (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,\n               uchar **pphash,uint *phashlen)\n\n{\n  bool bVar1;\n  byte bVar2;\n  Target_info *pTVar3;\n  uint uVar4;\n  Symbol *pSVar5;\n  pointer puVar6;\n  int iVar7;\n  uint uVar8;\n  byte *local_50;\n  Symbol *sym;\n  uint local_44;\n  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> unhashed_dynsyms;\n  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> hashed_dynsyms;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;\n  \n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  uVar4 = (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish -\n          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start;\n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  uVar8 = (int)uVar4 >> 2;\n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */\n  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&unhashed_dynsyms,uVar8);\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n       = (pointer)0x0;\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish\n       = (pointer)0x0;\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */\n  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&hashed_dynsyms,uVar8);\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n       (pointer)0x0;\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n       = (pointer)0x0;\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  if (0x3fffffff < uVar8) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error("vector::reserve");\n  }\n  if (uVar8 != 0) {\n    puVar6 = (pointer)operator_new(uVar4);\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    uVar8 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6;\n    do {\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    } while (uVar4 != uVar8);\n  }\n  iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start >> 2;\n  uVar4 = param_2;\n  if (iVar7 == 0) {\nLAB_000c566d:\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar3 = parameters->target_->pti_;\n    iVar7 = pTVar3->size;\n    bVar1 = pTVar3->is_big_endian;\n    if (iVar7 == 0x20) {\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    return;\n  }\n  pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start;\n  if (param_2 != 0) {\n    uVar4 = iVar7 + param_2;\n    uVar8 = param_2;\n    do {\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    } while (uVar8 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" primitive_type (ERROR "gold::Dynobj::" identifier : : identifier : :) (function_declarator "create_gnu_hash_table\n               (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,\n               uchar **pphash,uint *phashlen)" identifier (parameter_list "(vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,\n               uchar **pphash,uint *phashlen)" ( (parameter_declaration "vector<gold::Symbol*" type_identifier (ERROR "<gold::Symbol" < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Symbol*>_> *dynsyms" type_identifier (ERROR "::allocator<gold::Symbol*>_>" : : identifier < identifier : : identifier * > identifier >) (pointer_declarator "*dynsyms" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uchar **pphash" type_identifier (pointer_declarator "**pphash" * (pointer_declarator "*pphash" * identifier))) , (parameter_declaration "uint *phashlen" type_identifier (pointer_declarator "*phashlen" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  byte bVar2;\n  Target_info *pTVar3;\n  uint uVar4;\n  Symbol *pSVar5;\n  pointer puVar6;\n  int iVar7;\n  uint uVar8;\n  byte *local_50;\n  Symbol *sym;\n  uint local_44;\n  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> unhashed_dynsyms;\n  vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> hashed_dynsyms;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;\n  \n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;\n  uVar4 = (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish -\n          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start;\n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;\n  uVar8 = (int)uVar4 >> 2;\n  unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */\n  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&unhashed_dynsyms,uVar8);\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n       = (pointer)0x0;\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish\n       = (pointer)0x0;\n  hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */\n  std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::reserve(&hashed_dynsyms,uVar8);\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start =\n       (pointer)0x0;\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_finish\n       = (pointer)0x0;\n  dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  if (0x3fffffff < uVar8) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error("vector::reserve");\n  }\n  if (uVar8 != 0) {\n    puVar6 = (pointer)operator_new(uVar4);\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    uVar8 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6;\n    do {\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    } while (uVar4 != uVar8);\n  }\n  iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start >> 2;\n  uVar4 = param_2;\n  if (iVar7 == 0) {\nLAB_000c566d:\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar3 = parameters->target_->pti_;\n    iVar7 = pTVar3->size;\n    bVar1 = pTVar3->is_big_endian;\n    if (iVar7 == 0x20) {\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    return;\n  }\n  pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start;\n  if (param_2 != 0) {\n    uVar4 = iVar7 + param_2;\n    uVar8 = param_2;\n    do {\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    } while (uVar8 != 0);\n  }\n                    /* WARNING: Subroutine does not return */\n  do_gold_unreachable("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "Target_info *pTVar3;" type_identifier (pointer_declarator "*pTVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "Symbol *pSVar5;" type_identifier (pointer_declarator "*pSVar5" * identifier) ;) (declaration "pointer puVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "Symbol *sym;" type_identifier (pointer_declarator "*sym" * identifier) ;) (declaration "uint local_44;" type_identifier identifier ;) (expression_statement "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> unhashed_dynsyms;" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> unhashed_dynsyms" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "vector<gold::Symbol*,_std::allocator<gold" (binary_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) ;) (expression_statement "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> hashed_dynsyms;" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> hashed_dynsyms" (binary_expression "vector<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "vector<gold::Symbol*,_std::allocator<gold" (binary_expression "vector<gold::Symbol*,_std" (binary_expression "vector<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) ;) (ERROR "vector<unsigned_int,_std::" (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_> dynsym_hashvals;" (binary_expression "allocator<unsigned_int>_> dynsym_hashvals" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > identifier) ;) (expression_statement "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0;" (assignment_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start = (pointer)0x0" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_start" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar4 = (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish -\n          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start;" (assignment_expression "uVar4 = (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish -\n          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start" identifier = (binary_expression "(int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish -\n          (int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start" (cast_expression "(int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish" ( (type_descriptor "int" primitive_type) ) (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_finish" (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std" (binary_expression "dynsyms->super__Vector_base<gold" (field_expression "dynsyms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) - (cast_expression "(int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start" ( (type_descriptor "int" primitive_type) ) (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n               _M_start" (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl" (parenthesized_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std" (binary_expression "dynsyms->super__Vector_base<gold" (field_expression "dynsyms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)))) ;) (expression_statement "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0;" (assignment_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish = (pointer)0x0" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_finish" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar8 = (int)uVar4 >> 2;" (assignment_expression "uVar8 = (int)uVar4 >> 2" identifier = (binary_expression "(int)uVar4 >> 2" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) comment (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Symbol*>_>::reserve(&unhashed_dynsyms,uVar8);" (binary_expression "Symbol*>_>::reserve(&unhashed_dynsyms,uVar8)" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) (call_expression "reserve(&unhashed_dynsyms,uVar8)" identifier (argument_list "(&unhashed_dynsyms,uVar8)" ( (pointer_expression "&unhashed_dynsyms" & identifier) , identifier )))) ;) (expression_statement "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n       = (pointer)0x0;" (assignment_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start\n       = (pointer)0x0" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_start" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish\n       = (pointer)0x0;" (assignment_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish\n       = (pointer)0x0" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl._M_finish" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n  _M_end_of_storage" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) comment (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Symbol*>_>::reserve(&hashed_dynsyms,uVar8);" (binary_expression "Symbol*>_>::reserve(&hashed_dynsyms,uVar8)" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) (call_expression "reserve(&hashed_dynsyms,uVar8)" identifier (argument_list "(&hashed_dynsyms,uVar8)" ( (pointer_expression "&hashed_dynsyms" & identifier) , identifier )))) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start =\n       (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start =\n       (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_finish\n       = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_finish\n       = (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n  _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (0x3fffffff < uVar8) {\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error("vector::reserve");\n  }" if (parenthesized_expression "(0x3fffffff < uVar8)" ( (binary_expression "0x3fffffff < uVar8" number_literal < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    std::__throw_length_error("vector::reserve");\n  }" { comment (labeled_statement "std::__throw_length_error("vector::reserve");" statement_identifier : (ERROR ":" :) (expression_statement "__throw_length_error("vector::reserve");" (call_expression "__throw_length_error("vector::reserve")" identifier (argument_list "("vector::reserve")" ( (string_literal ""vector::reserve"" " string_content ") ))) ;)) })) (if_statement "if (uVar8 != 0) {\n    puVar6 = (pointer)operator_new(uVar4);\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    uVar8 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6;\n    do {\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    } while (uVar4 != uVar8);\n  }" if (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar6 = (pointer)operator_new(uVar4);\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    uVar8 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6;\n    do {\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    } while (uVar4 != uVar8);\n  }" { (expression_statement "puVar6 = (pointer)operator_new(uVar4);" (assignment_expression "puVar6 = (pointer)operator_new(uVar4)" identifier = (cast_expression "(pointer)operator_new(uVar4)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))))) ;) (if_statement "if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }" if (parenthesized_expression "(dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0)" ( (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n        _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }" { (expression_statement "operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);" (call_expression "operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start)" identifier (argument_list "(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start)" ( (binary_expression "dynsym_hashvals.\n                      super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.\n                      super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n                      _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4);" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = (pointer)((int)puVar6 + uVar4)" (field_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((int)puVar6 + uVar4)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((int)puVar6 + uVar4)" ( (binary_expression "(int)puVar6 + uVar4" (cast_expression "(int)puVar6" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6;" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start\n         = puVar6" (field_expression "allocator<unsigned_int>_>._M_impl._M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish = puVar6" (field_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (do_statement "do {\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    } while (uVar4 != uVar8);" do (compound_statement "{\n      sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);\n      bVar2 = sym->field_0x2b;\n      if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }\n      uVar8 = uVar8 + 4;\n    }" { (expression_statement "sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8);" (assignment_expression "sym = *(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8)" identifier = (pointer_expression "*(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8)" * (cast_expression "(Symbol **)\n             ((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8)" ( (binary_expression "(int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start + uVar8" (cast_expression "(int)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start" ( (type_descriptor "int" primitive_type) ) (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl._M_start" (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                   _M_impl" (parenthesized_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)" ( (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*,_std" (binary_expression "dynsyms->super__Vector_base<gold" (field_expression "dynsyms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) + identifier) ))))) ;) (expression_statement "bVar2 = sym->field_0x2b;" (assignment_expression "bVar2 = sym->field_0x2b" identifier = (field_expression "sym->field_0x2b" identifier -> field_identifier)) ;) (if_statement "if ((bVar2 & 2) == 0) {\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }" if (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }\n      }" { (if_statement "if ((sym->field_0x2a & 7) == 0) {\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" if (parenthesized_expression "((sym->field_0x2a & 7) == 0)" ( (binary_expression "(sym->field_0x2a & 7) == 0" (parenthesized_expression "(sym->field_0x2a & 7)" ( (binary_expression "sym->field_0x2a & 7" (field_expression "sym->field_0x2a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;\n        }" { (if_statement "if ((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;" if (parenthesized_expression "((((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0))" ( (binary_expression "(((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)) &&\n             (((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)" (parenthesized_expression "(((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0))" ( (binary_expression "((sym->u2_).shndx != 0) || ((bVar2 & 0x20) == 0)" (parenthesized_expression "((sym->u2_).shndx != 0)" ( (binary_expression "(sym->u2_).shndx != 0" (field_expression "(sym->u2_).shndx" (parenthesized_expression "(sym->u2_)" ( (field_expression "sym->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) || (parenthesized_expression "((bVar2 & 0x20) == 0)" ( (binary_expression "(bVar2 & 0x20) == 0" (parenthesized_expression "(bVar2 & 0x20)" ( (binary_expression "bVar2 & 0x20" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0)" ( (binary_expression "((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1) == 0" (parenthesized_expression "((uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1)" ( (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage & 1" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl._M_end_of_storage" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                     _M_impl" (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold::Output_data*,_std" (binary_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base<gold" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_[3].\n                     super__Vector_base" (subscript_expression "(uint)((sym->u1_).output_segment)->output_lists_[3]" (field_expression "(uint)((sym->u1_).output_segment)->output_lists_" (call_expression "(uint)((sym->u1_).output_segment)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((sym->u1_).output_segment)" ( (field_expression "(sym->u1_).output_segment" (parenthesized_expression "(sym->u1_)" ( (field_expression "sym->u1_" identifier -> field_identifier) )) . field_identifier) ))) -> field_identifier) [ number_literal ]) . field_identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000c57ad;" goto statement_identifier ;)) }) (else_clause "else if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" else (if_statement "if ((sym->field_0x2a & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" if (parenthesized_expression "((sym->field_0x2a & 7) != 4)" ( (binary_expression "(sym->field_0x2a & 7) != 4" (parenthesized_expression "(sym->field_0x2a & 7)" ( (binary_expression "sym->field_0x2a & 7" (field_expression "sym->field_0x2a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" { (labeled_statement "LAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" statement_identifier : (if_statement "if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000c5810;" goto statement_identifier ;))) })))) (if_statement "if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }" if (parenthesized_expression "(unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage)" ( (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_end_of_storage" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish ==\n            unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_finish" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }" { (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::\n          _M_realloc_insert<gold" (binary_expression "Symbol*>_>::\n          _M_realloc_insert" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : : (comma_expression "Symbol*_const&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std" (binary_expression "Symbol*_const" identifier * identifier) (ERROR "&>\n                    (&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold::Symbol*" & > ( (comma_expression "&unhashed_dynsyms,\n                     (iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold" (pointer_expression "&unhashed_dynsyms" & identifier) , (binary_expression "(iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base<gold" (cast_expression "(iterator)\n                     unhashed_dynsyms.\n                     super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "unhashed_dynsyms.\n                     super__Vector_base" identifier . field_identifier)) < identifier)) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Symbol*>_>._M_impl.\n                     _M_finish,&sym);" (comma_expression "Symbol*>_>._M_impl.\n                     _M_finish,&sym" (field_expression "Symbol*>_>._M_impl.\n                     _M_finish" (field_expression "Symbol*>_>._M_impl" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (pointer_expression "&sym" & identifier)) (ERROR ")" )) ;) }) (else_clause "else {\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }" else (compound_statement "{\n          *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;\n          unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;\n        }" { (expression_statement "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym;" (assignment_expression "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish = sym" (field_expression "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl._M_finish" (field_expression "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n           _M_impl" (binary_expression "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "*unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "*unhashed_dynsyms.super__Vector_base<gold" (pointer_expression "*unhashed_dynsyms.super__Vector_base" * (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier)) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1;" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish + 1" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                       _M_finish" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold::Symbol*,_std" (assignment_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish = unhashed_dynsyms.\n                       super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n          ._M_finish" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "unhashed_dynsyms.\n                       super__Vector_base<gold" (field_expression "unhashed_dynsyms.\n                       super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) }))) }) (else_clause "else {\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }" else (compound_statement "{\nLAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)sym->name_;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }\n      }" { (labeled_statement "LAB_000c5810:\n        if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }" statement_identifier : (if_statement "if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage) {\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }\n        else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }" if (parenthesized_expression "(hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage)" ( (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_end_of_storage" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish ==\n            hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl\n            ._M_finish" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n          std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                     _M_finish,&sym);\n        }" { (ERROR "std::vector<gold::Symbol*,_std::allocator<gold::Symbol*>_>::\n          _M_realloc_insert<gold::Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "std::vector<gold::Symbol*,_std" identifier (ERROR "::vector<gold::Symbol*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol*>_>::\n          _M_realloc_insert<gold" (binary_expression "Symbol*>_>::\n          _M_realloc_insert" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : : (comma_expression "Symbol*_const&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*,_std" (binary_expression "Symbol*_const" identifier * identifier) (ERROR "&>\n                    (&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold::Symbol*" & > ( (comma_expression "&hashed_dynsyms,\n                     (iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold" (pointer_expression "&hashed_dynsyms" & identifier) , (binary_expression "(iterator)\n                     hashed_dynsyms.\n                     super__Vector_base<gold" (cast_expression "(iterator)\n                     hashed_dynsyms.\n                     super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "hashed_dynsyms.\n                     super__Vector_base" identifier . field_identifier)) < identifier)) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Symbol*>_>._M_impl.\n                     _M_finish,&sym);" (comma_expression "Symbol*>_>._M_impl.\n                     _M_finish,&sym" (field_expression "Symbol*>_>._M_impl.\n                     _M_finish" (field_expression "Symbol*>_>._M_impl" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (pointer_expression "&sym" & identifier)) (ERROR ")" )) ;) }) (else_clause "else {\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }" else (compound_statement "{\n          *hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;\n          hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;\n        }" { (expression_statement "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym;" (assignment_expression "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish = sym" (field_expression "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n           _M_finish" (field_expression "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "*hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "*hashed_dynsyms.super__Vector_base<gold" (pointer_expression "*hashed_dynsyms.super__Vector_base" * (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier)) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1;" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish + 1" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std" (assignment_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish = hashed_dynsyms.\n                      super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n          _M_finish" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "hashed_dynsyms.\n                      super__Vector_base<gold" (field_expression "hashed_dynsyms.\n                      super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) })))) (expression_statement "local_44 = 0x1505;" (assignment_expression "local_44 = 0x1505" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)sym->name_;" (assignment_expression "local_50 = (byte *)sym->name_" identifier = (cast_expression "(byte *)sym->name_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sym->name_" identifier -> field_identifier))) ;) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" identifier = (pointer_expression "*local_50" * identifier)) ;) (while_statement "while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" while (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" { (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = (uint)bVar2 + local_44 * 0x21;" (assignment_expression "local_44 = (uint)bVar2 + local_44 * 0x21" identifier = (binary_expression "(uint)bVar2 + local_44 * 0x21" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_44 * 0x21" identifier * number_literal))) ;) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" identifier = (pointer_expression "*local_50" * identifier)) ;) })) (if_statement "if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage) {\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }\n        else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }" if (parenthesized_expression "(dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage)" ( (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish ==\n            dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>._M_impl.\n            _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n            _M_end_of_storage" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n          std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);\n        }" { (labeled_statement "std::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);" statement_identifier (ERROR "::vector<unsigned_int,_std::allocator<unsigned_int>_>::_M_realloc_insert<unsigned_int>\n                    (&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std:" : : (comma_expression "vector<unsigned_int,_std" (binary_expression "vector<unsigned_int" identifier < identifier) , identifier) : : (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) > : : (binary_expression "_M_realloc_insert<unsigned_int" identifier < identifier) > ( (comma_expression "&dynsym_hashvals,\n                     (iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std" (pointer_expression "&dynsym_hashvals" & identifier) , (comma_expression "(iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "(iterator)\n                     dynsym_hashvals.super__Vector_base<unsigned_int" (cast_expression "(iterator)\n                     dynsym_hashvals.super__Vector_base" ( (type_descriptor "iterator" type_identifier) ) (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier)) < identifier) , identifier)) :) : (expression_statement "allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44);" (comma_expression "allocator<unsigned_int>_>\n                     ._M_impl._M_finish,&local_44" (field_expression "allocator<unsigned_int>_>\n                     ._M_impl._M_finish" (field_expression "allocator<unsigned_int>_>\n                     ._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (pointer_expression "&local_44" & identifier)) (ERROR ")" )) ;)) }) (else_clause "else {\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }" else (compound_statement "{\n          *dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;\n          dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;\n        }" { (ERROR "*dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "*dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "*dynsym_hashvals.super__Vector_base<unsigned_int" (pointer_expression "*dynsym_hashvals.super__Vector_base" * (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n           _M_finish = local_44" (field_expression "allocator<unsigned_int>_>._M_impl.\n           _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n          _M_finish = dynsym_hashvals.\n                      super__Vector_base<unsigned_int" (field_expression "allocator<unsigned_int>_>._M_impl.\n          _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "dynsym_hashvals.\n                      super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.\n                      super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1;" (binary_expression "allocator<unsigned_int>_>._M_impl.\n                      _M_finish + 1" (field_expression "allocator<unsigned_int>_>._M_impl.\n                      _M_finish" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) }))) }))) (expression_statement "uVar8 = uVar8 + 4;" (assignment_expression "uVar8 = uVar8 + 4" identifier = (binary_expression "uVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar4 != uVar8)" ( (binary_expression "uVar4 != uVar8" identifier != identifier) )) ;) })) (expression_statement "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start >> 2;" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start >> 2" (field_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start" (field_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base<gold" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish -\n          (int)unhashed_dynsyms.super__Vector_base" (field_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_finish" (field_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (assignment_expression "iVar7 = (int)unhashed_dynsyms.super__Vector_base<gold" identifier = (binary_expression "(int)unhashed_dynsyms.super__Vector_base<gold" (cast_expression "(int)unhashed_dynsyms.super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier)) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)unhashed_dynsyms.super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier))) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) >> number_literal) ;) (expression_statement "uVar4 = param_2;" (assignment_expression "uVar4 = param_2" identifier = identifier) ;) (if_statement "if (iVar7 == 0) {\nLAB_000c566d:\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar3 = parameters->target_->pti_;\n    iVar7 = pTVar3->size;\n    bVar1 = pTVar3->is_big_endian;\n    if (iVar7 == 0x20) {\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    return;\n  }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c566d:\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }\n    pTVar3 = parameters->target_->pti_;\n    iVar7 = pTVar3->size;\n    bVar1 = pTVar3->is_big_endian;\n    if (iVar7 == 0x20) {\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }\n    if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }\n    return;\n  }" { (labeled_statement "LAB_000c566d:\n    if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }" statement_identifier : (if_statement "if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n    }" if (parenthesized_expression "(parameters->target_ == (Target *)0x0)" ( (binary_expression "parameters->target_ == (Target *)0x0" (field_expression "parameters->target_" identifier -> field_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",0x69,"target");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) }))) (expression_statement "pTVar3 = parameters->target_->pti_;" (assignment_expression "pTVar3 = parameters->target_->pti_" identifier = (field_expression "parameters->target_->pti_" (field_expression "parameters->target_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "iVar7 = pTVar3->size;" (assignment_expression "iVar7 = pTVar3->size" identifier = (field_expression "pTVar3->size" identifier -> field_identifier)) ;) (expression_statement "bVar1 = pTVar3->is_big_endian;" (assignment_expression "bVar1 = pTVar3->is_big_endian" identifier = (field_expression "pTVar3->is_big_endian" identifier -> field_identifier)) ;) (if_statement "if (iVar7 == 0x20) {\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }\n    else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }" if (parenthesized_expression "(iVar7 == 0x20)" ( (binary_expression "iVar7 == 0x20" identifier == number_literal) )) (compound_statement "{\n      if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }" { (if_statement "if (bVar1 == false) {\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" if (parenthesized_expression "(bVar1 == false)" ( (binary_expression "bVar1 == false" identifier == false) )) (compound_statement "{\n        sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" { (expression_statement "sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);" (comma_expression "sized_create_gnu_hash_table<32,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" (binary_expression "sized_create_gnu_hash_table<32" identifier < number_literal) , (binary_expression "_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" identifier > (parenthesized_expression "(&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" ( (comma_expression "&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&hashed_dynsyms" & identifier) , (comma_expression "&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&dynsym_hashvals" & identifier) , (comma_expression "uVar4,pphash,phashlen" identifier , (comma_expression "pphash,phashlen" identifier , identifier)))) )))) ;) }) (else_clause "else {\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" else (compound_statement "{\n        sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" { (expression_statement "sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);" (comma_expression "sized_create_gnu_hash_table<32,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" (binary_expression "sized_create_gnu_hash_table<32" identifier < number_literal) , (binary_expression "_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" identifier > (parenthesized_expression "(&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" ( (comma_expression "&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&hashed_dynsyms" & identifier) , (comma_expression "&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&dynsym_hashvals" & identifier) , (comma_expression "uVar4,pphash,phashlen" identifier , (comma_expression "pphash,phashlen" identifier , identifier)))) )))) ;) }))) }) (else_clause "else {\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }" else (compound_statement "{\n      if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }\n      if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n    }" { (if_statement "if (iVar7 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }" if (parenthesized_expression "(iVar7 != 0x40)" ( (binary_expression "iVar7 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x493,"create_gnu_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x493,"create_gnu_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""create_gnu_hash_table"" " string_content ") ))) ;) })) (if_statement "if (bVar1 == false) {\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }\n      else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" if (parenthesized_expression "(bVar1 == false)" ( (binary_expression "bVar1 == false" identifier == false) )) (compound_statement "{\n                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */\n        sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" { comment (expression_statement "sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);" (comma_expression "sized_create_gnu_hash_table<64,_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" (binary_expression "sized_create_gnu_hash_table<64" identifier < number_literal) , (binary_expression "_false>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" identifier > (parenthesized_expression "(&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" ( (comma_expression "&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&hashed_dynsyms" & identifier) , (comma_expression "&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&dynsym_hashvals" & identifier) , (comma_expression "uVar4,pphash,phashlen" identifier , (comma_expression "pphash,phashlen" identifier , identifier)))) )))) ;) }) (else_clause "else {\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" else (compound_statement "{\n        sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);\n      }" { (expression_statement "sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen);" (comma_expression "sized_create_gnu_hash_table<64,_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" (binary_expression "sized_create_gnu_hash_table<64" identifier < number_literal) , (binary_expression "_true>\n                  (&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" identifier > (parenthesized_expression "(&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen)" ( (comma_expression "&hashed_dynsyms,&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&hashed_dynsyms" & identifier) , (comma_expression "&dynsym_hashvals,uVar4,pphash,phashlen" (pointer_expression "&dynsym_hashvals" & identifier) , (comma_expression "uVar4,pphash,phashlen" identifier , (comma_expression "pphash,phashlen" identifier , identifier)))) )))) ;) }))) }))) (if_statement "if (dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }" if (parenthesized_expression "(dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0)" ( (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::" (comma_expression "dynsym_hashvals.super__Vector_base<unsigned_int,_std" (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>._M_impl.\n        _M_start != (pointer)0x0" (field_expression "allocator<unsigned_int>_>._M_impl.\n        _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);\n    }" { (expression_statement "operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start);" (call_expression "operator_delete(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start)" identifier (argument_list "(dynsym_hashvals.\n                      super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n                      _M_start)" ( (binary_expression "dynsym_hashvals.\n                      super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.\n                      super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<unsigned_int>_>._M_impl.\n                      _M_start" (field_expression "allocator<unsigned_int>_>._M_impl" (binary_expression "allocator<unsigned_int>_" (binary_expression "allocator<unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }" if (parenthesized_expression "(hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0)" ( (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start" (field_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.super__Vector_base<gold" (field_expression "hashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }" { (expression_statement "operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);" (call_expression "operator_delete(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start)" identifier (argument_list "(hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start)" ( (field_expression "hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start" (field_expression "hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "hashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std" (binary_expression "hashed_dynsyms.\n                      super__Vector_base<gold" (field_expression "hashed_dynsyms.\n                      super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (if_statement "if (unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0) {\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }" if (parenthesized_expression "(unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0)" ( (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start != (pointer)0x0" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n        _M_start" (field_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n      operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);\n    }" { (expression_statement "operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start);" (call_expression "operator_delete(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start)" identifier (argument_list "(unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start)" ( (field_expression "unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_start" (field_expression "unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "unhashed_dynsyms.\n                      super__Vector_base<gold::Symbol*,_std" (binary_expression "unhashed_dynsyms.\n                      super__Vector_base<gold" (field_expression "unhashed_dynsyms.\n                      super__Vector_base" identifier . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start;" (field_expression "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl._M_start" (field_expression "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n            _M_impl" (binary_expression "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (assignment_expression "pSVar5 = *unhashed_dynsyms.super__Vector_base<gold" identifier = (binary_expression "*unhashed_dynsyms.super__Vector_base<gold" (pointer_expression "*unhashed_dynsyms.super__Vector_base" * (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier)) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (param_2 != 0) {\n    uVar4 = iVar7 + param_2;\n    uVar8 = param_2;\n    do {\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    } while (uVar8 != 0);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar4 = iVar7 + param_2;\n    uVar8 = param_2;\n    do {\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    } while (uVar8 != 0);\n  }" { (expression_statement "uVar4 = iVar7 + param_2;" (assignment_expression "uVar4 = iVar7 + param_2" identifier = (binary_expression "iVar7 + param_2" identifier + identifier)) ;) (expression_statement "uVar8 = param_2;" (assignment_expression "uVar8 = param_2" identifier = identifier) ;) (do_statement "do {\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    } while (uVar8 != 0);" do (compound_statement "{\n      pSVar5->dynsym_index_ = uVar8;\n      uVar8 = uVar8 + 1;\n      if (uVar8 == uVar4) goto LAB_000c566d;\n      pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];\n    }" { (expression_statement "pSVar5->dynsym_index_ = uVar8;" (assignment_expression "pSVar5->dynsym_index_ = uVar8" (field_expression "pSVar5->dynsym_index_" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (if_statement "if (uVar8 == uVar4) goto LAB_000c566d;" if (parenthesized_expression "(uVar8 == uVar4)" ( (binary_expression "uVar8 == uVar4" identifier == identifier) )) (goto_statement "goto LAB_000c566d;" goto statement_identifier ;)) (expression_statement "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2];" (subscript_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start[uVar8 - param_2]" (field_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl._M_start" (field_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n               _M_impl" (binary_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold::Symbol*,_std" (assignment_expression "pSVar5 = unhashed_dynsyms.super__Vector_base<gold" identifier = (binary_expression "unhashed_dynsyms.super__Vector_base<gold" (field_expression "unhashed_dynsyms.super__Vector_base" identifier . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "uVar8 - param_2" identifier - identifier) ]) ;) }) while (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x1a2,"set_dynsym_index");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x1a2,"set_dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x1a2,"set_dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""set_dynsym_index"" " string_content ") ))) ;) })))
(translation_unit "void FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    \n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}\n\n" (function_definition "void FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    \n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" primitive_type (function_declarator "FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    \n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "byte *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int *local_40;" primitive_type (pointer_declarator "*local_40" * identifier) ;) (declaration "undefined4 *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined4 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "undefined4 *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "undefined4 *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "int *local_28;" primitive_type (pointer_declarator "*local_28" * identifier) ;) (declaration "int *local_24;" primitive_type (pointer_declarator "*local_24" * identifier) ;) (declaration "int *local_20;" primitive_type (pointer_declarator "*local_20" * identifier) ;) (expression_statement "local_40 = (int *)0x0;" (assignment_expression "local_40 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar3 = param_1[1] - *param_1;" (assignment_expression "iVar3 = param_1[1] - *param_1" identifier = (binary_expression "param_1[1] - *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) - (pointer_expression "*param_1" * identifier))) ;) (expression_statement "local_3c = (undefined4 *)0x0;" (assignment_expression "local_3c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar7 = iVar3 >> 2;" (assignment_expression "uVar7 = iVar3 >> 2" identifier = (binary_expression "iVar3 >> 2" identifier >> number_literal)) ;) (expression_statement "local_38 = (undefined4 *)0x0;" (assignment_expression "local_38 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000c8a30(&local_40,uVar7);" (call_expression "FUN_000c8a30(&local_40,uVar7)" identifier (argument_list "(&local_40,uVar7)" ( (pointer_expression "&local_40" & identifier) , identifier ))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = (undefined4 *)0x0;" (assignment_expression "local_30 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_2c = (undefined4 *)0x0;" (assignment_expression "local_2c = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "FUN_000c8a30(&local_34,uVar7);" (call_expression "FUN_000c8a30(&local_34,uVar7)" identifier (argument_list "(&local_34,uVar7)" ( (pointer_expression "&local_34" & identifier) , identifier ))) ;) (expression_statement "local_28 = (int *)0x0;" (assignment_expression "local_28 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_24 = (int *)0x0;" (assignment_expression "local_24 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_20 = (int *)0x0;" (assignment_expression "local_20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }" if (parenthesized_expression "(0x3fffffff < uVar7)" ( (binary_expression "0x3fffffff < uVar7" number_literal < identifier) )) (compound_statement "{\n                    \n    FUN_0028dc10("vector::reserve");\n  }" { (expression_statement "FUN_0028dc10("vector::reserve");" (call_expression "FUN_0028dc10("vector::reserve")" identifier (argument_list "("vector::reserve")" ( (string_literal ""vector::reserve"" " string_content ") ))) ;) })) (if_statement "if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }" if (parenthesized_expression "(uVar7 != 0)" ( (binary_expression "uVar7 != 0" identifier != number_literal) )) (compound_statement "{\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }" { (expression_statement "piVar5 = (int *)FUN_00246670(iVar3);" (assignment_expression "piVar5 = (int *)FUN_00246670(iVar3)" identifier = (cast_expression "(int *)FUN_00246670(iVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00246670(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))))) ;) (if_statement "if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }" if (parenthesized_expression "(local_28 != (int *)0x0)" ( (binary_expression "local_28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00248220(local_28);\n    }" { (expression_statement "FUN_00248220(local_28);" (call_expression "FUN_00248220(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) })) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "local_20 = (int *)((int)piVar5 + iVar3);" (assignment_expression "local_20 = (int *)((int)piVar5 + iVar3)" identifier = (cast_expression "(int *)((int)piVar5 + iVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar5 + iVar3)" ( (binary_expression "(int)piVar5 + iVar3" (cast_expression "(int)piVar5" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "local_28 = piVar5;" (assignment_expression "local_28 = piVar5" identifier = identifier) ;) (expression_statement "local_24 = piVar5;" (assignment_expression "local_24 = piVar5" identifier = identifier) ;) (do_statement "do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);" do (compound_statement "{\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    }" { (expression_statement "local_48 = *(undefined4 **)(*param_1 + iVar6);" (assignment_expression "local_48 = *(undefined4 **)(*param_1 + iVar6)" identifier = (pointer_expression "*(undefined4 **)(*param_1 + iVar6)" * (cast_expression "(undefined4 **)(*param_1 + iVar6)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_1 + iVar6)" ( (binary_expression "*param_1 + iVar6" (pointer_expression "*param_1" * identifier) + identifier) ))))) ;) (expression_statement "bVar2 = *(byte *)((int)local_48 + 0x2b);" (assignment_expression "bVar2 = *(byte *)((int)local_48 + 0x2b)" identifier = (pointer_expression "*(byte *)((int)local_48 + 0x2b)" * (cast_expression "(byte *)((int)local_48 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 0x2b)" ( (binary_expression "(int)local_48 + 0x2b" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" if (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }" { (if_statement "if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" if (parenthesized_expression "((*(byte *)((int)local_48 + 0x2a) & 7) == 0)" ( (binary_expression "(*(byte *)((int)local_48 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_48 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_48 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_48 + 0x2a)" * (cast_expression "(byte *)((int)local_48 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 0x2a)" ( (binary_expression "(int)local_48 + 0x2a" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }" { (if_statement "if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;" if (parenthesized_expression "(((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0))" ( (binary_expression "((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)" (parenthesized_expression "((local_48[3] != 0) || ((bVar2 & 0x20) == 0))" ( (binary_expression "(local_48[3] != 0) || ((bVar2 & 0x20) == 0)" (parenthesized_expression "(local_48[3] != 0)" ( (binary_expression "local_48[3] != 0" (subscript_expression "local_48[3]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "((bVar2 & 0x20) == 0)" ( (binary_expression "(bVar2 & 0x20) == 0" (parenthesized_expression "(bVar2 & 0x20)" ( (binary_expression "bVar2 & 0x20" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((*(byte *)(local_48[2] + 0x2c) & 1) == 0)" ( (binary_expression "(*(byte *)(local_48[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(local_48[2] + 0x2c) & 1)" ( (binary_expression "*(byte *)(local_48[2] + 0x2c) & 1" (pointer_expression "*(byte *)(local_48[2] + 0x2c)" * (cast_expression "(byte *)(local_48[2] + 0x2c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48[2] + 0x2c)" ( (binary_expression "local_48[2] + 0x2c" (subscript_expression "local_48[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_000c57ad;" goto statement_identifier ;)) }) (else_clause "else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" else (if_statement "if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" if (parenthesized_expression "((*(byte *)((int)local_48 + 0x2a) & 7) != 4)" ( (binary_expression "(*(byte *)((int)local_48 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)local_48 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)local_48 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_48 + 0x2a)" * (cast_expression "(byte *)((int)local_48 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_48 + 0x2a)" ( (binary_expression "(int)local_48 + 0x2a" (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" { (labeled_statement "LAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" statement_identifier : (if_statement "if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" if (parenthesized_expression "((bVar2 & 0x10) == 0)" ( (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" ( (binary_expression "bVar2 & 0x10" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_000c5810;" goto statement_identifier ;))) })))) (if_statement "if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" if (parenthesized_expression "(local_3c == local_38)" ( (binary_expression "local_3c == local_38" identifier == identifier) )) (compound_statement "{\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }" { (expression_statement "FUN_000a82c0(&local_40,local_3c,&local_48);" (call_expression "FUN_000a82c0(&local_40,local_3c,&local_48)" identifier (argument_list "(&local_40,local_3c,&local_48)" ( (pointer_expression "&local_40" & identifier) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) }) (else_clause "else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" else (compound_statement "{\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" { (expression_statement "*local_3c = local_48;" (assignment_expression "*local_3c = local_48" (pointer_expression "*local_3c" * identifier) = identifier) ;) (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" identifier = (binary_expression "local_3c + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" else (compound_statement "{\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" { (labeled_statement "LAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" statement_identifier : (if_statement "if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" if (parenthesized_expression "(local_30 == local_2c)" ( (binary_expression "local_30 == local_2c" identifier == identifier) )) (compound_statement "{\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }" { (expression_statement "FUN_000a82c0(&local_34,local_30,&local_48);" (call_expression "FUN_000a82c0(&local_34,local_30,&local_48)" identifier (argument_list "(&local_34,local_30,&local_48)" ( (pointer_expression "&local_34" & identifier) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) }) (else_clause "else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" else (compound_statement "{\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" { (expression_statement "*local_30 = local_48;" (assignment_expression "*local_30 = local_48" (pointer_expression "*local_30" * identifier) = identifier) ;) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" identifier = (binary_expression "local_30 + 1" identifier + number_literal)) ;) })))) (expression_statement "local_44 = 0x1505;" (assignment_expression "local_44 = 0x1505" identifier = number_literal) ;) (expression_statement "local_50 = (byte *)*local_48;" (assignment_expression "local_50 = (byte *)*local_48" identifier = (cast_expression "(byte *)*local_48" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_48" * identifier))) ;) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" identifier = (pointer_expression "*local_50" * identifier)) ;) (while_statement "while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" while (parenthesized_expression "(bVar2 != 0)" ( (binary_expression "bVar2 != 0" identifier != number_literal) )) (compound_statement "{\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" { (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" identifier = (binary_expression "local_50 + 1" identifier + number_literal)) ;) (expression_statement "local_44 = (uint)bVar2 + local_44 * 0x21;" (assignment_expression "local_44 = (uint)bVar2 + local_44 * 0x21" identifier = (binary_expression "(uint)bVar2 + local_44 * 0x21" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (binary_expression "local_44 * 0x21" identifier * number_literal))) ;) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" identifier = (pointer_expression "*local_50" * identifier)) ;) })) (if_statement "if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" if (parenthesized_expression "(local_24 == local_20)" ( (binary_expression "local_24 == local_20" identifier == identifier) )) (compound_statement "{\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }" { (expression_statement "FUN_000ab210(&local_28,local_24,&local_44);" (call_expression "FUN_000ab210(&local_28,local_24,&local_44)" identifier (argument_list "(&local_28,local_24,&local_44)" ( (pointer_expression "&local_28" & identifier) , identifier , (pointer_expression "&local_44" & identifier) ))) ;) }) (else_clause "else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" else (compound_statement "{\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" { (expression_statement "*local_24 = local_44;" (assignment_expression "*local_24 = local_44" (pointer_expression "*local_24" * identifier) = identifier) ;) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" identifier = (binary_expression "local_24 + 1" identifier + number_literal)) ;) }))) }))) (expression_statement "iVar6 = iVar6 + 4;" (assignment_expression "iVar6 = iVar6 + 4" identifier = (binary_expression "iVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar3 != iVar6)" ( (binary_expression "iVar3 != iVar6" identifier != identifier) )) ;) })) (expression_statement "iVar6 = (int)local_3c - (int)local_40 >> 2;" (assignment_expression "iVar6 = (int)local_3c - (int)local_40 >> 2" identifier = (binary_expression "(int)local_3c - (int)local_40 >> 2" (binary_expression "(int)local_3c - (int)local_40" (cast_expression "(int)local_3c" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_40" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal)) ;) (expression_statement "iVar3 = param_2;" (assignment_expression "iVar3 = param_2" identifier = identifier) ;) (if_statement "if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }" { (labeled_statement "LAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" statement_identifier : (if_statement "if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" if (parenthesized_expression "(*(int *)(DAT_004144e8 + 0xc) == 0)" ( (binary_expression "*(int *)(DAT_004144e8 + 0xc) == 0" (pointer_expression "*(int *)(DAT_004144e8 + 0xc)" * (cast_expression "(int *)(DAT_004144e8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 0xc)" ( (binary_expression "DAT_004144e8 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" { (expression_statement "FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);" (call_expression "FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3)" identifier (argument_list "("../../gold/parameters.h",0x69,"target",iVar3)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") , identifier ))) ;) }))) (expression_statement "piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);" (assignment_expression "piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" identifier = (pointer_expression "*(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(DAT_004144e8 + 0xc) + 4)" ( (binary_expression "*(int *)(DAT_004144e8 + 0xc) + 4" (pointer_expression "*(int *)(DAT_004144e8 + 0xc)" * (cast_expression "(int *)(DAT_004144e8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_004144e8 + 0xc)" ( (binary_expression "DAT_004144e8 + 0xc" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "cVar1 = (char)piVar5[1];" (assignment_expression "cVar1 = (char)piVar5[1]" identifier = (cast_expression "(char)piVar5[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "piVar5[1]" identifier [ number_literal ]))) ;) (if_statement "if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" if (parenthesized_expression "(iVar6 == 0x20)" ( (binary_expression "iVar6 == 0x20" identifier == number_literal) )) (compound_statement "{\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" { (if_statement "if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" else (compound_statement "{\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" else (compound_statement "{\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" { (if_statement "if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }" if (parenthesized_expression "(iVar6 != 0x40)" ( (binary_expression "iVar6 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }" { (expression_statement "FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);" (call_expression "FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1)" identifier (argument_list "("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1)" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""create_gnu_hash_table"" " string_content ") , identifier ))) ;) })) (if_statement "if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" if (parenthesized_expression "(cVar1 == '\0')" ( (binary_expression "cVar1 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" else (compound_statement "{\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" { (expression_statement "FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4)" identifier (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" ( (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_28" & identifier) , identifier , identifier , identifier ))) ;) }))) }))) (if_statement "if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }" if (parenthesized_expression "(local_28 != (int *)0x0)" ( (binary_expression "local_28 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00248220(local_28);\n    }" { (expression_statement "FUN_00248220(local_28);" (call_expression "FUN_00248220(local_28)" identifier (argument_list "(local_28)" ( identifier ))) ;) })) (if_statement "if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }" if (parenthesized_expression "(local_34 != 0)" ( (binary_expression "local_34 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_00248220(local_34);\n    }" { (expression_statement "FUN_00248220(local_34);" (call_expression "FUN_00248220(local_34)" identifier (argument_list "(local_34)" ( identifier ))) ;) })) (if_statement "if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }" if (parenthesized_expression "(local_40 != (int *)0x0)" ( (binary_expression "local_40 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      FUN_00248220(local_40);\n    }" { (expression_statement "FUN_00248220(local_40);" (call_expression "FUN_00248220(local_40)" identifier (argument_list "(local_40)" ( identifier ))) ;) })) (return_statement "return;" return ;) })) (expression_statement "iVar4 = *local_40;" (assignment_expression "iVar4 = *local_40" identifier = (pointer_expression "*local_40" * identifier)) ;) (if_statement "if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }" { (expression_statement "iVar3 = iVar6 + param_2;" (assignment_expression "iVar3 = iVar6 + param_2" identifier = (binary_expression "iVar6 + param_2" identifier + identifier)) ;) (expression_statement "iVar6 = param_2;" (assignment_expression "iVar6 = param_2" identifier = identifier) ;) (do_statement "do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);" do (compound_statement "{\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    }" { (expression_statement "*(int *)(iVar4 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar4 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar4 + 0x14)" * (cast_expression "(int *)(iVar4 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x14)" ( (binary_expression "iVar4 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (iVar6 == iVar3) goto LAB_000c566d;" if (parenthesized_expression "(iVar6 == iVar3)" ( (binary_expression "iVar6 == iVar3" identifier == identifier) )) (goto_statement "goto LAB_000c566d;" goto statement_identifier ;)) (expression_statement "iVar4 = local_40[iVar6 - param_2];" (assignment_expression "iVar4 = local_40[iVar6 - param_2]" identifier = (subscript_expression "local_40[iVar6 - param_2]" identifier [ (binary_expression "iVar6 - param_2" identifier - identifier) ])) ;) }) while (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");" (call_expression "FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x1a2,"set_dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""set_dynsym_index"" " 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 IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (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 ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (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) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_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 ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))) ;) }))) }))) (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 ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (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 ( IDENT ))) ;) })) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 [ (binary_expression IDENT - IDENT) ])) ;) }) 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_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    \n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" (primitive_type "void") (function_declarator "FUN_000c5590(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)" (identifier "FUN_000c5590") (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  int iVar3;\n  int iVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  byte *local_50;\n  undefined4 *local_48;\n  int local_44;\n  int *local_40;\n  undefined4 *local_3c;\n  undefined4 *local_38;\n  int local_34;\n  undefined4 *local_30;\n  undefined4 *local_2c;\n  int *local_28;\n  int *local_24;\n  int *local_20;\n  \n  local_40 = (int *)0x0;\n  iVar3 = param_1[1] - *param_1;\n  local_3c = (undefined4 *)0x0;\n  uVar7 = iVar3 >> 2;\n  local_38 = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_40,uVar7);\n  local_34 = 0;\n  local_30 = (undefined4 *)0x0;\n  local_2c = (undefined4 *)0x0;\n                    \n  FUN_000c8a30(&local_34,uVar7);\n  local_28 = (int *)0x0;\n  local_24 = (int *)0x0;\n  local_20 = (int *)0x0;\n  if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }\n  if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }\n  iVar6 = (int)local_3c - (int)local_40 >> 2;\n  iVar3 = param_2;\n  if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }\n  iVar4 = *local_40;\n  if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }\n                    \n  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "byte *local_50;" (type_identifier "byte") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined4 *local_48;" (type_identifier "undefined4") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int *local_40;" (primitive_type "int") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "undefined4 *local_3c;" (type_identifier "undefined4") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "undefined4 *local_38;" (type_identifier "undefined4") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "undefined4 *local_30;" (type_identifier "undefined4") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "undefined4 *local_2c;" (type_identifier "undefined4") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (declaration "int *local_28;" (primitive_type "int") (pointer_declarator "*local_28" (* "*") (identifier "local_28")) (; ";")) (declaration "int *local_24;" (primitive_type "int") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int *local_20;" (primitive_type "int") (pointer_declarator "*local_20" (* "*") (identifier "local_20")) (; ";")) (expression_statement "local_40 = (int *)0x0;" (assignment_expression "local_40 = (int *)0x0" (identifier "local_40") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar3 = param_1[1] - *param_1;" (assignment_expression "iVar3 = param_1[1] - *param_1" (identifier "iVar3") (= "=") (binary_expression "param_1[1] - *param_1" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (- "-") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "local_3c = (undefined4 *)0x0;" (assignment_expression "local_3c = (undefined4 *)0x0" (identifier "local_3c") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar7 = iVar3 >> 2;" (assignment_expression "uVar7 = iVar3 >> 2" (identifier "uVar7") (= "=") (binary_expression "iVar3 >> 2" (identifier "iVar3") (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "local_38 = (undefined4 *)0x0;" (assignment_expression "local_38 = (undefined4 *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_000c8a30(&local_40,uVar7);" (call_expression "FUN_000c8a30(&local_40,uVar7)" (identifier "FUN_000c8a30") (argument_list "(&local_40,uVar7)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = (undefined4 *)0x0;" (assignment_expression "local_30 = (undefined4 *)0x0" (identifier "local_30") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = (undefined4 *)0x0;" (assignment_expression "local_2c = (undefined4 *)0x0" (identifier "local_2c") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "FUN_000c8a30(&local_34,uVar7);" (call_expression "FUN_000c8a30(&local_34,uVar7)" (identifier "FUN_000c8a30") (argument_list "(&local_34,uVar7)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "local_28 = (int *)0x0;" (assignment_expression "local_28 = (int *)0x0" (identifier "local_28") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_24 = (int *)0x0;" (assignment_expression "local_24 = (int *)0x0" (identifier "local_24") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_20 = (int *)0x0;" (assignment_expression "local_20 = (int *)0x0" (identifier "local_20") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (0x3fffffff < uVar7) {\n                    \n    FUN_0028dc10("vector::reserve");\n  }" (if "if") (parenthesized_expression "(0x3fffffff < uVar7)" (( "(") (binary_expression "0x3fffffff < uVar7" (number_literal "0x3fffffff") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n                    \n    FUN_0028dc10("vector::reserve");\n  }" ({ "{") (expression_statement "FUN_0028dc10("vector::reserve");" (call_expression "FUN_0028dc10("vector::reserve")" (identifier "FUN_0028dc10") (argument_list "("vector::reserve")" (( "(") (string_literal ""vector::reserve"" (" """) (string_content "vector::reserve") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (uVar7 != 0) {\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }" (if "if") (parenthesized_expression "(uVar7 != 0)" (( "(") (binary_expression "uVar7 != 0" (identifier "uVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    piVar5 = (int *)FUN_00246670(iVar3);\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    iVar6 = 0;\n    local_20 = (int *)((int)piVar5 + iVar3);\n    local_28 = piVar5;\n    local_24 = piVar5;\n    do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);\n  }" ({ "{") (expression_statement "piVar5 = (int *)FUN_00246670(iVar3);" (assignment_expression "piVar5 = (int *)FUN_00246670(iVar3)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_00246670(iVar3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00246670(iVar3)" (identifier "FUN_00246670") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))))) (; ";")) (if_statement "if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }" (if "if") (parenthesized_expression "(local_28 != (int *)0x0)" (( "(") (binary_expression "local_28 != (int *)0x0" (identifier "local_28") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00248220(local_28);\n    }" ({ "{") (expression_statement "FUN_00248220(local_28);" (call_expression "FUN_00248220(local_28)" (identifier "FUN_00248220") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_20 = (int *)((int)piVar5 + iVar3);" (assignment_expression "local_20 = (int *)((int)piVar5 + iVar3)" (identifier "local_20") (= "=") (cast_expression "(int *)((int)piVar5 + iVar3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar5 + iVar3)" (( "(") (binary_expression "(int)piVar5 + iVar3" (cast_expression "(int)piVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar5")) (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "local_28 = piVar5;" (assignment_expression "local_28 = piVar5" (identifier "local_28") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "local_24 = piVar5;" (assignment_expression "local_24 = piVar5" (identifier "local_24") (= "=") (identifier "piVar5")) (; ";")) (do_statement "do {\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    } while (iVar3 != iVar6);" (do "do") (compound_statement "{\n      local_48 = *(undefined4 **)(*param_1 + iVar6);\n      bVar2 = *(byte *)((int)local_48 + 0x2b);\n      if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }\n      iVar6 = iVar6 + 4;\n    }" ({ "{") (expression_statement "local_48 = *(undefined4 **)(*param_1 + iVar6);" (assignment_expression "local_48 = *(undefined4 **)(*param_1 + iVar6)" (identifier "local_48") (= "=") (pointer_expression "*(undefined4 **)(*param_1 + iVar6)" (* "*") (cast_expression "(undefined4 **)(*param_1 + iVar6)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_1 + iVar6)" (( "(") (binary_expression "*param_1 + iVar6" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (identifier "iVar6")) () ")"))))) (; ";")) (expression_statement "bVar2 = *(byte *)((int)local_48 + 0x2b);" (assignment_expression "bVar2 = *(byte *)((int)local_48 + 0x2b)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)((int)local_48 + 0x2b)" (* "*") (cast_expression "(byte *)((int)local_48 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 0x2b)" (( "(") (binary_expression "(int)local_48 + 0x2b" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "0x2b")) () ")"))))) (; ";")) (if_statement "if ((bVar2 & 2) == 0) {\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }\n      else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" (if "if") (parenthesized_expression "((bVar2 & 2) == 0)" (( "(") (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" (( "(") (binary_expression "bVar2 & 2" (identifier "bVar2") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }\n        if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }\n      }" ({ "{") (if_statement "if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }\n        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)local_48 + 0x2a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((int)local_48 + 0x2a) & 7) == 0" (parenthesized_expression "(*(byte *)((int)local_48 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)local_48 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_48 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_48 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 0x2a)" (( "(") (binary_expression "(int)local_48 + 0x2a" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;\n        }" ({ "{") (if_statement "if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;" (if "if") (parenthesized_expression "(((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0))" (( "(") (binary_expression "((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&\n             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)" (parenthesized_expression "((local_48[3] != 0) || ((bVar2 & 0x20) == 0))" (( "(") (binary_expression "(local_48[3] != 0) || ((bVar2 & 0x20) == 0)" (parenthesized_expression "(local_48[3] != 0)" (( "(") (binary_expression "local_48[3] != 0" (subscript_expression "local_48[3]" (identifier "local_48") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((bVar2 & 0x20) == 0)" (( "(") (binary_expression "(bVar2 & 0x20) == 0" (parenthesized_expression "(bVar2 & 0x20)" (( "(") (binary_expression "bVar2 & 0x20" (identifier "bVar2") (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(local_48[2] + 0x2c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(local_48[2] + 0x2c) & 1) == 0" (parenthesized_expression "(*(byte *)(local_48[2] + 0x2c) & 1)" (( "(") (binary_expression "*(byte *)(local_48[2] + 0x2c) & 1" (pointer_expression "*(byte *)(local_48[2] + 0x2c)" (* "*") (cast_expression "(byte *)(local_48[2] + 0x2c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_48[2] + 0x2c)" (( "(") (binary_expression "local_48[2] + 0x2c" (subscript_expression "local_48[2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000c57ad;" (goto "goto") (statement_identifier "LAB_000c57ad") (; ";"))) (} "}")) (else_clause "else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" (else "else") (if_statement "if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" (if "if") (parenthesized_expression "((*(byte *)((int)local_48 + 0x2a) & 7) != 4)" (( "(") (binary_expression "(*(byte *)((int)local_48 + 0x2a) & 7) != 4" (parenthesized_expression "(*(byte *)((int)local_48 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)local_48 + 0x2a) & 7" (pointer_expression "*(byte *)((int)local_48 + 0x2a)" (* "*") (cast_expression "(byte *)((int)local_48 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_48 + 0x2a)" (( "(") (binary_expression "(int)local_48 + 0x2a" (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\nLAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;\n        }" ({ "{") (labeled_statement "LAB_000c57ad:\n          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" (statement_identifier "LAB_000c57ad") (: ":") (if_statement "if ((bVar2 & 0x10) == 0) goto LAB_000c5810;" (if "if") (parenthesized_expression "((bVar2 & 0x10) == 0)" (( "(") (binary_expression "(bVar2 & 0x10) == 0" (parenthesized_expression "(bVar2 & 0x10)" (( "(") (binary_expression "bVar2 & 0x10" (identifier "bVar2") (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000c5810;" (goto "goto") (statement_identifier "LAB_000c5810") (; ";")))) (} "}"))))) (if_statement "if (local_3c == local_38) {\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }\n        else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" (if "if") (parenthesized_expression "(local_3c == local_38)" (( "(") (binary_expression "local_3c == local_38" (identifier "local_3c") (== "==") (identifier "local_38")) () ")")) (compound_statement "{\n          FUN_000a82c0(&local_40,local_3c,&local_48);\n        }" ({ "{") (expression_statement "FUN_000a82c0(&local_40,local_3c,&local_48);" (call_expression "FUN_000a82c0(&local_40,local_3c,&local_48)" (identifier "FUN_000a82c0") (argument_list "(&local_40,local_3c,&local_48)" (( "(") (pointer_expression "&local_40" (& "&") (identifier "local_40")) (, ",") (identifier "local_3c") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" (else "else") (compound_statement "{\n          *local_3c = local_48;\n          local_3c = local_3c + 1;\n        }" ({ "{") (expression_statement "*local_3c = local_48;" (assignment_expression "*local_3c = local_48" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_3c = local_3c + 1;" (assignment_expression "local_3c = local_3c + 1" (identifier "local_3c") (= "=") (binary_expression "local_3c + 1" (identifier "local_3c") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" (else "else") (compound_statement "{\nLAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }\n        local_44 = 0x1505;\n        local_50 = (byte *)*local_48;\n        bVar2 = *local_50;\n        while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }\n        if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }\n      }" ({ "{") (labeled_statement "LAB_000c5810:\n        if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" (statement_identifier "LAB_000c5810") (: ":") (if_statement "if (local_30 == local_2c) {\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }\n        else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" (if "if") (parenthesized_expression "(local_30 == local_2c)" (( "(") (binary_expression "local_30 == local_2c" (identifier "local_30") (== "==") (identifier "local_2c")) () ")")) (compound_statement "{\n          FUN_000a82c0(&local_34,local_30,&local_48);\n        }" ({ "{") (expression_statement "FUN_000a82c0(&local_34,local_30,&local_48);" (call_expression "FUN_000a82c0(&local_34,local_30,&local_48)" (identifier "FUN_000a82c0") (argument_list "(&local_34,local_30,&local_48)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "local_30") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" (else "else") (compound_statement "{\n          *local_30 = local_48;\n          local_30 = local_30 + 1;\n        }" ({ "{") (expression_statement "*local_30 = local_48;" (assignment_expression "*local_30 = local_48" (pointer_expression "*local_30" (* "*") (identifier "local_30")) (= "=") (identifier "local_48")) (; ";")) (expression_statement "local_30 = local_30 + 1;" (assignment_expression "local_30 = local_30 + 1" (identifier "local_30") (= "=") (binary_expression "local_30 + 1" (identifier "local_30") (+ "+") (number_literal "1"))) (; ";")) (} "}"))))) (expression_statement "local_44 = 0x1505;" (assignment_expression "local_44 = 0x1505" (identifier "local_44") (= "=") (number_literal "0x1505")) (; ";")) (expression_statement "local_50 = (byte *)*local_48;" (assignment_expression "local_50 = (byte *)*local_48" (identifier "local_50") (= "=") (cast_expression "(byte *)*local_48" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_48" (* "*") (identifier "local_48")))) (; ";")) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" (identifier "bVar2") (= "=") (pointer_expression "*local_50" (* "*") (identifier "local_50"))) (; ";")) (while_statement "while (bVar2 != 0) {\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" (while "while") (parenthesized_expression "(bVar2 != 0)" (( "(") (binary_expression "bVar2 != 0" (identifier "bVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_50 = local_50 + 1;\n          local_44 = (uint)bVar2 + local_44 * 0x21;\n          bVar2 = *local_50;\n        }" ({ "{") (expression_statement "local_50 = local_50 + 1;" (assignment_expression "local_50 = local_50 + 1" (identifier "local_50") (= "=") (binary_expression "local_50 + 1" (identifier "local_50") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_44 = (uint)bVar2 + local_44 * 0x21;" (assignment_expression "local_44 = (uint)bVar2 + local_44 * 0x21" (identifier "local_44") (= "=") (binary_expression "(uint)bVar2 + local_44 * 0x21" (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")) (+ "+") (binary_expression "local_44 * 0x21" (identifier "local_44") (* "*") (number_literal "0x21")))) (; ";")) (expression_statement "bVar2 = *local_50;" (assignment_expression "bVar2 = *local_50" (identifier "bVar2") (= "=") (pointer_expression "*local_50" (* "*") (identifier "local_50"))) (; ";")) (} "}"))) (if_statement "if (local_24 == local_20) {\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }\n        else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" (if "if") (parenthesized_expression "(local_24 == local_20)" (( "(") (binary_expression "local_24 == local_20" (identifier "local_24") (== "==") (identifier "local_20")) () ")")) (compound_statement "{\n          FUN_000ab210(&local_28,local_24,&local_44);\n        }" ({ "{") (expression_statement "FUN_000ab210(&local_28,local_24,&local_44);" (call_expression "FUN_000ab210(&local_28,local_24,&local_44)" (identifier "FUN_000ab210") (argument_list "(&local_28,local_24,&local_44)" (( "(") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (identifier "local_24") (, ",") (pointer_expression "&local_44" (& "&") (identifier "local_44")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" (else "else") (compound_statement "{\n          *local_24 = local_44;\n          local_24 = local_24 + 1;\n        }" ({ "{") (expression_statement "*local_24 = local_44;" (assignment_expression "*local_24 = local_44" (pointer_expression "*local_24" (* "*") (identifier "local_24")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "local_24 = local_24 + 1;" (assignment_expression "local_24 = local_24 + 1" (identifier "local_24") (= "=") (binary_expression "local_24 + 1" (identifier "local_24") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar6 = iVar6 + 4;" (assignment_expression "iVar6 = iVar6 + 4" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 4" (identifier "iVar6") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar3 != iVar6)" (( "(") (binary_expression "iVar3 != iVar6" (identifier "iVar3") (!= "!=") (identifier "iVar6")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar6 = (int)local_3c - (int)local_40 >> 2;" (assignment_expression "iVar6 = (int)local_3c - (int)local_40 >> 2" (identifier "iVar6") (= "=") (binary_expression "(int)local_3c - (int)local_40 >> 2" (binary_expression "(int)local_3c - (int)local_40" (cast_expression "(int)local_3c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_3c")) (- "-") (cast_expression "(int)local_40" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_40"))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar3 = param_2;" (assignment_expression "iVar3 = param_2" (identifier "iVar3") (= "=") (identifier "param_2")) (; ";")) (if_statement "if (iVar6 == 0) {\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }\n    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);\n    iVar6 = *piVar5;\n    cVar1 = (char)piVar5[1];\n    if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }\n    if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }\n    if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }\n    return;\n  }" ({ "{") (labeled_statement "LAB_000c566d:\n    if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" (statement_identifier "LAB_000c566d") (: ":") (if_statement "if (*(int *)(DAT_004144e8 + 0xc) == 0) {\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" (if "if") (parenthesized_expression "(*(int *)(DAT_004144e8 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(DAT_004144e8 + 0xc) == 0" (pointer_expression "*(int *)(DAT_004144e8 + 0xc)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 0xc)" (( "(") (binary_expression "DAT_004144e8 + 0xc" (identifier "DAT_004144e8") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);\n    }" ({ "{") (expression_statement "FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);" (call_expression "FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3)" (identifier "FUN_000da200") (argument_list "("../../gold/parameters.h",0x69,"target",iVar3)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) (, ",") (identifier "iVar3") () ")"))) (; ";")) (} "}")))) (expression_statement "piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);" (assignment_expression "piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" (* "*") (cast_expression "(int **)(*(int *)(DAT_004144e8 + 0xc) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(DAT_004144e8 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(DAT_004144e8 + 0xc) + 4" (pointer_expression "*(int *)(DAT_004144e8 + 0xc)" (* "*") (cast_expression "(int *)(DAT_004144e8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_004144e8 + 0xc)" (( "(") (binary_expression "DAT_004144e8 + 0xc" (identifier "DAT_004144e8") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar6 = *piVar5;" (assignment_expression "iVar6 = *piVar5" (identifier "iVar6") (= "=") (pointer_expression "*piVar5" (* "*") (identifier "piVar5"))) (; ";")) (expression_statement "cVar1 = (char)piVar5[1];" (assignment_expression "cVar1 = (char)piVar5[1]" (identifier "cVar1") (= "=") (cast_expression "(char)piVar5[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (iVar6 == 0x20) {\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }\n    else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" (if "if") (parenthesized_expression "(iVar6 == 0x20)" (( "(") (binary_expression "iVar6 == 0x20" (identifier "iVar6") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n      if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" ({ "{") (if_statement "if (cVar1 == '\0') {\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);\n      }" ({ "{") (expression_statement "FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4)" (identifier "FUN_000c9030") (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (identifier "iVar3") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" (else "else") (compound_statement "{\n        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);\n      }" ({ "{") (expression_statement "FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4)" (identifier "FUN_000c8b10") (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (identifier "iVar3") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" (else "else") (compound_statement "{\n      if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }\n      if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n    }" ({ "{") (if_statement "if (iVar6 != 0x40) {\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }" (if "if") (parenthesized_expression "(iVar6 != 0x40)" (( "(") (binary_expression "iVar6 != 0x40" (identifier "iVar6") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);\n      }" ({ "{") (expression_statement "FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);" (call_expression "FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1)" (identifier "FUN_000da200") (argument_list "("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1)" (( "(") (string_literal ""../../gold/dynobj.cc"" (" """) (string_content "../../gold/dynobj.cc") (" """)) (, ",") (number_literal "0x493") (, ",") (string_literal ""create_gnu_hash_table"" (" """) (string_content "create_gnu_hash_table") (" """)) (, ",") (identifier "cVar1") () ")"))) (; ";")) (} "}"))) (if_statement "if (cVar1 == '\0') {\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }\n      else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" (if "if") (parenthesized_expression "(cVar1 == '\0')" (( "(") (binary_expression "cVar1 == '\0'" (identifier "cVar1") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);\n      }" ({ "{") (expression_statement "FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4)" (identifier "FUN_000c9ab0") (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (identifier "iVar3") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" (else "else") (compound_statement "{\n        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);\n      }" ({ "{") (expression_statement "FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);" (call_expression "FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4)" (identifier "FUN_000c9540") (argument_list "(&local_34,&local_28,iVar3,param_3,param_4)" (( "(") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (identifier "iVar3") (, ",") (identifier "param_3") (, ",") (identifier "param_4") () ")"))) (; ";")) (} "}")))) (} "}")))) (if_statement "if (local_28 != (int *)0x0) {\n      FUN_00248220(local_28);\n    }" (if "if") (parenthesized_expression "(local_28 != (int *)0x0)" (( "(") (binary_expression "local_28 != (int *)0x0" (identifier "local_28") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00248220(local_28);\n    }" ({ "{") (expression_statement "FUN_00248220(local_28);" (call_expression "FUN_00248220(local_28)" (identifier "FUN_00248220") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_34 != 0) {\n      FUN_00248220(local_34);\n    }" (if "if") (parenthesized_expression "(local_34 != 0)" (( "(") (binary_expression "local_34 != 0" (identifier "local_34") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00248220(local_34);\n    }" ({ "{") (expression_statement "FUN_00248220(local_34);" (call_expression "FUN_00248220(local_34)" (identifier "FUN_00248220") (argument_list "(local_34)" (( "(") (identifier "local_34") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_40 != (int *)0x0) {\n      FUN_00248220(local_40);\n    }" (if "if") (parenthesized_expression "(local_40 != (int *)0x0)" (( "(") (binary_expression "local_40 != (int *)0x0" (identifier "local_40") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      FUN_00248220(local_40);\n    }" ({ "{") (expression_statement "FUN_00248220(local_40);" (call_expression "FUN_00248220(local_40)" (identifier "FUN_00248220") (argument_list "(local_40)" (( "(") (identifier "local_40") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar4 = *local_40;" (assignment_expression "iVar4 = *local_40" (identifier "iVar4") (= "=") (pointer_expression "*local_40" (* "*") (identifier "local_40"))) (; ";")) (if_statement "if (param_2 != 0) {\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar3 = iVar6 + param_2;\n    iVar6 = param_2;\n    do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);\n  }" ({ "{") (expression_statement "iVar3 = iVar6 + param_2;" (assignment_expression "iVar3 = iVar6 + param_2" (identifier "iVar3") (= "=") (binary_expression "iVar6 + param_2" (identifier "iVar6") (+ "+") (identifier "param_2"))) (; ";")) (expression_statement "iVar6 = param_2;" (assignment_expression "iVar6 = param_2" (identifier "iVar6") (= "=") (identifier "param_2")) (; ";")) (do_statement "do {\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    } while (iVar6 != 0);" (do "do") (compound_statement "{\n      *(int *)(iVar4 + 0x14) = iVar6;\n      iVar6 = iVar6 + 1;\n      if (iVar6 == iVar3) goto LAB_000c566d;\n      iVar4 = local_40[iVar6 - param_2];\n    }" ({ "{") (expression_statement "*(int *)(iVar4 + 0x14) = iVar6;" (assignment_expression "*(int *)(iVar4 + 0x14) = iVar6" (pointer_expression "*(int *)(iVar4 + 0x14)" (* "*") (cast_expression "(int *)(iVar4 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x14)" (( "(") (binary_expression "iVar4 + 0x14" (identifier "iVar4") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar6 == iVar3) goto LAB_000c566d;" (if "if") (parenthesized_expression "(iVar6 == iVar3)" (( "(") (binary_expression "iVar6 == iVar3" (identifier "iVar6") (== "==") (identifier "iVar3")) () ")")) (goto_statement "goto LAB_000c566d;" (goto "goto") (statement_identifier "LAB_000c566d") (; ";"))) (expression_statement "iVar4 = local_40[iVar6 - param_2];" (assignment_expression "iVar4 = local_40[iVar6 - param_2]" (identifier "iVar4") (= "=") (subscript_expression "local_40[iVar6 - param_2]" (identifier "local_40") ([ "[") (binary_expression "iVar6 - param_2" (identifier "iVar6") (- "-") (identifier "param_2")) (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");" (call_expression "FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index")" (identifier "FUN_000da200") (argument_list "("../../gold/symtab.h",0x1a2,"set_dynsym_index")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0x1a2") (, ",") (string_literal ""set_dynsym_index"" (" """) (string_content "set_dynsym_index") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */

void var_1::Dynobj::function_1
               (type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2> *dynsyms,type_3 var_24,
               type_4 **pphash,type_3 *phashlen)

{
  bool var_20;
  type_5 var_15;
  type_6 *pTVar3;
  type_3 var_14;
  type_7 *pSVar5;
  type_8 puVar6;
  int var_18;
  type_3 var_10;
  type_5 *var_16;
  type_7 *sym;
  type_3 var_17;
  type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2> var_3;
  type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2> var_4;
  type_1<var_6,type_2::var_5<var_6>var_2> var_7;
  
  var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
  _M_start = (type_8)0x0;
  var_14 = (int)(dynsyms->super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>var_8)._M_impl.
               _M_finish -
          (int)(dynsyms->super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>var_8)._M_impl.
               _M_start;
  var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
  _M_finish = (type_8)0x0;
  var_10 = (int)var_14 >> 2;
  var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
  _M_end_of_storage = (type_8)0x0;
                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */
  std::type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>::var_9(&var_3,var_10);
  var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl._M_start
       = (type_8)0x0;
  var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl._M_finish
       = (type_8)0x0;
  var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
  _M_end_of_storage = (type_8)0x0;
                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */
  std::type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>::var_9(&var_4,var_10);
  var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl._M_start =
       (type_8)0x0;
  var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl._M_finish
       = (type_8)0x0;
  var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
  _M_end_of_storage = (type_8)0x0;
  if (0x3fffffff < var_10) {
                    /* WARNING: Subroutine does not return */
    std::var_11("vector::reserve");
  }
  if (var_10 != 0) {
    puVar6 = (type_8)var_12(var_14);
    if (var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
        _M_start != (type_8)0x0) {
      var_13(var_7.
                      super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
                      _M_start);
    }
    var_10 = 0;
    var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
    _M_end_of_storage = (type_8)((int)puVar6 + var_14);
    var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl._M_start
         = puVar6;
    var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
    _M_finish = puVar6;
    do {
      sym = *(type_7 **)
             ((int)(dynsyms->super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>var_8).
                   _M_impl._M_start + var_10);
      var_15 = sym->field_0x2b;
      if ((var_15 & 2) == 0) {
        if ((sym->field_0x2a & 7) == 0) {
          if ((((sym->u2_).shndx != 0) || ((var_15 & 0x20) == 0)) &&
             (((type_3)((sym->u1_).output_segment)->output_lists_[3].
                     super__Vector_base<var_1::Output_data*,type_2::var_5<var_1::Output_data*>var_2>.
                     _M_impl._M_end_of_storage & 1) == 0)) goto LAB_000c57ad;
        }
        else if ((sym->field_0x2a & 7) != 4) {
LAB_000c57ad:
          if ((var_15 & 0x10) == 0) goto LAB_000c5810;
        }
        if (var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
            _M_impl._M_finish ==
            var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
            _M_impl._M_end_of_storage) {
          std::type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>::
          _M_realloc_insert<var_1::type_7*_const&>
                    (&var_3,
                     (iterator)
                     var_3.
                     super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
                     _M_finish,&sym);
        }
        else {
          *var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
           _M_impl._M_finish = sym;
          var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl
          ._M_finish = var_3.
                       super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
                       _M_finish + 1;
        }
      }
      else {
LAB_000c5810:
        if (var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl
            ._M_finish ==
            var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl
            ._M_end_of_storage) {
          std::type_1<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>::
          _M_realloc_insert<var_1::type_7*_const&>
                    (&var_4,
                     (iterator)
                     var_4.
                     super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
                     _M_finish,&sym);
        }
        else {
          *var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
           _M_finish = sym;
          var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
          _M_finish = var_4.
                      super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
                      _M_finish + 1;
        }
        var_17 = 0x1505;
        var_16 = (type_5 *)sym->name_;
        var_15 = *var_16;
        while (var_15 != 0) {
          var_16 = var_16 + 1;
          var_17 = (type_3)var_15 + var_17 * 0x21;
          var_15 = *var_16;
        }
        if (var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
            _M_finish ==
            var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
            _M_end_of_storage) {
          std::type_1<var_6,type_2::var_5<var_6>var_2>::_M_realloc_insert<var_6>
                    (&var_7,
                     (iterator)
                     var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>
                     ._M_impl._M_finish,&var_17);
        }
        else {
          *var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
           _M_finish = var_17;
          var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
          _M_finish = var_7.
                      super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
                      _M_finish + 1;
        }
      }
      var_10 = var_10 + 4;
    } while (var_14 != var_10);
  }
  var_18 = (int)var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
               _M_impl._M_finish -
          (int)var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
               _M_impl._M_start >> 2;
  var_14 = var_24;
  if (var_18 == 0) {
LAB_000c566d:
    if (parameters->target_ == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_19("../../gold/parameters.h",0x69,"target");
    }
    pTVar3 = parameters->target_->pti_;
    var_18 = pTVar3->size;
    var_20 = pTVar3->is_big_endian;
    if (var_18 == 0x20) {
      if (var_20 == false) {
        var_21<32,var_22>
                  (&var_4,&var_7,var_14,pphash,phashlen);
      }
      else {
        var_21<32,var_23>
                  (&var_4,&var_7,var_14,pphash,phashlen);
      }
    }
    else {
      if (var_18 != 0x40) {
                    /* WARNING: Subroutine does not return */
        var_19("../../gold/dynobj.cc",0x493,"create_gnu_hash_table");
      }
      if (var_20 == false) {
                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */
        var_21<64,var_22>
                  (&var_4,&var_7,var_14,pphash,phashlen);
      }
      else {
        var_21<64,var_23>
                  (&var_4,&var_7,var_14,pphash,phashlen);
      }
    }
    if (var_7.super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
        _M_start != (type_8)0x0) {
      var_13(var_7.
                      super__Vector_base<var_6,type_2::var_5<var_6>var_2>._M_impl.
                      _M_start);
    }
    if (var_4.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
        _M_start != (type_8)0x0) {
      var_13(var_4.
                      super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
                      _M_start);
    }
    if (var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
        _M_start != (type_8)0x0) {
      var_13(var_3.
                      super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>._M_impl.
                      _M_start);
    }
    return;
  }
  pSVar5 = *var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
            _M_impl._M_start;
  if (var_24 != 0) {
    var_14 = var_18 + var_24;
    var_10 = var_24;
    do {
      pSVar5->dynsym_index_ = var_10;
      var_10 = var_10 + 1;
      if (var_10 == var_14) goto LAB_000c566d;
      pSVar5 = var_3.super__Vector_base<var_1::type_7*,type_2::var_5<var_1::type_7*>var_2>.
               _M_impl._M_start[var_10 - var_24];
    } while (var_10 != 0);
  }
                    /* WARNING: Subroutine does not return */
  var_19("../../gold/symtab.h",0x1a2,"set_dynsym_index");
}


(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: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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: (identifier) arguments: (argument_list (identifier)))))) (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 (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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 (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier))))))) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier)) (identifier) (identifier) (identifier)))))))))) (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 (identifier)))))) (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)))))) (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 (identifier)))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (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: (binary_expression left: (identifier) right: (identifier)))))) 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,int param_2,undefined4 param_3,undefined4 param_4)

{
  char cVar1;
  byte bVar2;
  int iVar3;
  int iVar4;
  int *piVar5;
  int iVar6;
  uint uVar7;
  byte *local_50;
  undefined4 *local_48;
  int local_44;
  int *local_40;
  undefined4 *local_3c;
  undefined4 *local_38;
  int local_34;
  undefined4 *local_30;
  undefined4 *local_2c;
  int *local_28;
  int *local_24;
  int *local_20;
  
  local_40 = (int *)0x0;
  iVar3 = param_1[1] - *param_1;
  local_3c = (undefined4 *)0x0;
  uVar7 = iVar3 >> 2;
  local_38 = (undefined4 *)0x0;
                    /* try { // try from 000c55d6 to 000c55da has its CatchHandler @ 000c592a */
  FUN_000c8a30(&local_40,uVar7);
  local_34 = 0;
  local_30 = (undefined4 *)0x0;
  local_2c = (undefined4 *)0x0;
                    /* try { // try from 000c55fa to 000c55fe has its CatchHandler @ 000c5923 */
  FUN_000c8a30(&local_34,uVar7);
  local_28 = (int *)0x0;
  local_24 = (int *)0x0;
  local_20 = (int *)0x0;
  if (0x3fffffff < uVar7) {
                    /* WARNING: Subroutine does not return */
    FUN_0028dc10("vector::reserve");
  }
  if (uVar7 != 0) {
    piVar5 = (int *)FUN_00246670(iVar3);
    if (local_28 != (int *)0x0) {
      FUN_00248220(local_28);
    }
    iVar6 = 0;
    local_20 = (int *)((int)piVar5 + iVar3);
    local_28 = piVar5;
    local_24 = piVar5;
    do {
      local_48 = *(undefined4 **)(*param_1 + iVar6);
      bVar2 = *(byte *)((int)local_48 + 0x2b);
      if ((bVar2 & 2) == 0) {
        if ((*(byte *)((int)local_48 + 0x2a) & 7) == 0) {
          if (((local_48[3] != 0) || ((bVar2 & 0x20) == 0)) &&
             ((*(byte *)(local_48[2] + 0x2c) & 1) == 0)) goto LAB_000c57ad;
        }
        else if ((*(byte *)((int)local_48 + 0x2a) & 7) != 4) {
LAB_000c57ad:
          if ((bVar2 & 0x10) == 0) goto LAB_000c5810;
        }
        if (local_3c == local_38) {
          FUN_000a82c0(&local_40,local_3c,&local_48);
        }
        else {
          *local_3c = local_48;
          local_3c = local_3c + 1;
        }
      }
      else {
LAB_000c5810:
        if (local_30 == local_2c) {
          FUN_000a82c0(&local_34,local_30,&local_48);
        }
        else {
          *local_30 = local_48;
          local_30 = local_30 + 1;
        }
        local_44 = 0x1505;
        local_50 = (byte *)*local_48;
        bVar2 = *local_50;
        while (bVar2 != 0) {
          local_50 = local_50 + 1;
          local_44 = (uint)bVar2 + local_44 * 0x21;
          bVar2 = *local_50;
        }
        if (local_24 == local_20) {
          FUN_000ab210(&local_28,local_24,&local_44);
        }
        else {
          *local_24 = local_44;
          local_24 = local_24 + 1;
        }
      }
      iVar6 = iVar6 + 4;
    } while (iVar3 != iVar6);
  }
  iVar6 = (int)local_3c - (int)local_40 >> 2;
  iVar3 = param_2;
  if (iVar6 == 0) {
LAB_000c566d:
    if (*(int *)(DAT_004144e8 + 0xc) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_000da200("../../gold/parameters.h",0x69,"target",iVar3);
    }
    piVar5 = *(int **)(*(int *)(DAT_004144e8 + 0xc) + 4);
    iVar6 = *piVar5;
    cVar1 = (char)piVar5[1];
    if (iVar6 == 0x20) {
      if (cVar1 == '\0') {
        FUN_000c9030(&local_34,&local_28,iVar3,param_3,param_4);
      }
      else {
        FUN_000c8b10(&local_34,&local_28,iVar3,param_3,param_4);
      }
    }
    else {
      if (iVar6 != 0x40) {
                    /* WARNING: Subroutine does not return */
        FUN_000da200("../../gold/dynobj.cc",0x493,"create_gnu_hash_table",cVar1);
      }
      if (cVar1 == '\0') {
                    /* try { // try from 000c56b3 to 000c5922 has its CatchHandler @ 000c5931 */
        FUN_000c9ab0(&local_34,&local_28,iVar3,param_3,param_4);
      }
      else {
        FUN_000c9540(&local_34,&local_28,iVar3,param_3,param_4);
      }
    }
    if (local_28 != (int *)0x0) {
      FUN_00248220(local_28);
    }
    if (local_34 != 0) {
      FUN_00248220(local_34);
    }
    if (local_40 != (int *)0x0) {
      FUN_00248220(local_40);
    }
    return;
  }
  iVar4 = *local_40;
  if (param_2 != 0) {
    iVar3 = iVar6 + param_2;
    iVar6 = param_2;
    do {
      *(int *)(iVar4 + 0x14) = iVar6;
      iVar6 = iVar6 + 1;
      if (iVar6 == iVar3) goto LAB_000c566d;
      iVar4 = local_40[iVar6 - param_2];
    } while (iVar6 != 0);
  }
                    /* WARNING: Subroutine does not return */
  FUN_000da200("../../gold/symtab.h",0x1a2,"set_dynsym_index");
}

