
/* WARNING: Enum "DT": Some values do not have unique names */

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

{
  uint *puVar1;
  pointer puVar2;
  byte bVar3;
  char cVar4;
  uint uVar5;
  pointer ppSVar6;
  void *pvVar7;
  void *pvVar8;
  ulong *puVar9;
  uint uVar10;
  int iVar11;
  ulong uVar12;
  uint uVar13;
  byte *pbVar14;
  ulong *puVar15;
  int iVar16;
  uint uVar17;
  int iVar18;
  ulong uVar19;
  ulong uVar20;
  bool bVar21;
  void *local_78;
  void *local_70;
  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;
  
  uVar19 = (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                 _M_impl._M_finish -
           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).
                 _M_impl._M_start >> 3;
  iVar18 = (int)uVar19;
  uVar19 = uVar19 & 0xffffffff;
  puVar2 = (pointer)(uVar19 * 4);
  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 (uVar19 == 0) {
    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 = puVar2;
  }
  else {
    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start
         = (pointer)operator_new((ulong)puVar2);
    uVar12 = 0;
    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
    _M_finish = (pointer)((long)puVar2 +
                         (long)dynsym_hashvals.
                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                               _M_impl._M_start);
    do {
      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
      _M_start[uVar12] = 0;
      uVar12 = uVar12 + 1;
      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
      _M_end_of_storage =
           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
           _M_finish;
    } while (uVar19 != uVar12);
  }
  if (iVar18 != 0) {
    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
              _M_start;
    uVar19 = 0;
    do {
      pbVar14 = (byte *)ppSVar6[uVar19]->name_;
      uVar10 = 0;
      while (bVar3 = *pbVar14, bVar3 != 0) {
        while( true ) {
          pbVar14 = pbVar14 + 1;
          uVar10 = uVar10 * 0x10 + (uint)bVar3;
          if ((uVar10 & 0xf0000000) == 0) break;
          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;
          bVar3 = *pbVar14;
          if (bVar3 == 0) goto LAB_0029a3ca;
        }
      }
LAB_0029a3ca:
      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.
      _M_start[uVar19] = uVar10;
      bVar21 = iVar18 - 1 != uVar19;
      uVar19 = uVar19 + 1;
    } while (bVar21);
  }
                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */
  uVar10 = compute_bucket_count(&dynsym_hashvals,false);
  uVar19 = (ulong)uVar10;
  if (uVar19 == 0) {
    local_70 = (void *)0x0;
    pvVar7 = (void *)0x0;
  }
  else {
    pvVar7 = operator_new(uVar19 * 4);
    uVar12 = 0;
    do {
      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;
      uVar12 = uVar12 + 1;
    } while (uVar19 != uVar12);
    local_70 = (void *)((long)pvVar7 + uVar19 * 4);
  }
  if (param_2 + iVar18 == 0) {
    local_78 = (void *)0x0;
    pvVar8 = (void *)0x0;
  }
  else {
    uVar20 = (ulong)(param_2 + iVar18);
                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */
    pvVar8 = operator_new(uVar20 * 4);
    uVar12 = 0;
    do {
      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;
      uVar12 = uVar12 + 1;
    } while (uVar20 != uVar12);
    local_78 = (void *)((long)pvVar8 + uVar20 * 4);
  }
  if (iVar18 != 0) {
    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.
              _M_start;
    uVar13 = (*ppSVar6)->dynsym_index_;
    if (uVar13 != 0) {
      uVar12 = 0;
      do {
        puVar1 = (uint *)((long)pvVar7 +
                         ((ulong)dynsym_hashvals.
                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.
                                 _M_impl._M_start[uVar12] % uVar19) * 4);
        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;
        *puVar1 = uVar13;
        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;
        uVar12 = uVar12 + 1;
        uVar13 = ppSVar6[uVar12]->dynsym_index_;
      } while (uVar13 != 0);
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");
  }
LAB_0029a4bf:
  if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x69,"target");
  }
  iVar11 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78);
  uVar10 = (uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3;
                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */
  puVar9 = (ulong *)operator_new__((ulong)uVar10);
  if (parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/parameters.h",0x69,"target");
  }
  cVar4 = *(char *)(*(long *)(parameters->target_ + 8) + 4);
  iVar18 = (int)puVar9;
  if (iVar11 == 0x20) {
    puVar15 = puVar9 + 1;
    uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);
    uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);
    if (cVar4 == '\0') {
      *(uint *)puVar9 = uVar13;
      *(uint *)((long)puVar9 + 4) = uVar17;
      if (uVar13 != 0) {
        uVar19 = 0;
        do {
          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =
               *(undefined4 *)((long)pvVar7 + uVar19 * 4);
          bVar21 = uVar13 - 1 != uVar19;
          uVar19 = uVar19 + 1;
        } while (bVar21);
        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);
      }
      if (uVar17 != 0) {
        uVar19 = 0;
        do {
          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);
          bVar21 = uVar17 - 1 != uVar19;
          uVar19 = uVar19 + 1;
        } while (bVar21);
        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {
LAB_0029a817:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;
    }
    else {
      *(uint *)puVar9 =
           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;
      *(uint *)((long)puVar9 + 4) =
           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
      if (uVar13 != 0) {
        uVar19 = 0;
        do {
          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);
          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =
               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;
          bVar21 = uVar13 - 1 != uVar19;
          uVar19 = uVar19 + 1;
        } while (bVar21);
        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);
      }
      if (uVar17 != 0) {
        uVar19 = 0;
        do {
          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);
          *(uint *)((long)puVar15 + uVar19 * 4) =
               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;
          bVar21 = uVar17 - 1 != uVar19;
          uVar19 = uVar19 + 1;
        } while (bVar21);
        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {
LAB_0029a837:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;
    }
LAB_0029a7e1:
    *pphash = (uchar *)puVar9;
    *phashlen = uVar10;
    if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;
  }
  else {
    if (iVar11 != 0x40) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");
    }
    puVar15 = puVar9 + 2;
    uVar19 = (long)local_70 - (long)pvVar7 >> 2;
    uVar12 = (long)local_78 - (long)pvVar8 >> 2;
    iVar11 = (int)uVar19;
    iVar16 = (int)uVar12;
    if (cVar4 == '\0') {
      *puVar9 = uVar19 & 0xffffffff;
      puVar9[1] = uVar12 & 0xffffffff;
      if (iVar11 != 0) {
        uVar19 = 0;
        do {
          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);
          bVar21 = iVar11 - 1 != uVar19;
          uVar19 = uVar19 + 1;
        } while (bVar21);
        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;
      }
      if (iVar16 != 0) {
        uVar19 = 0;
        do {
          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);
          bVar21 = iVar16 - 1 != uVar19;
          uVar19 = uVar19 + 1;
        } while (bVar21);
        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {
LAB_0029a673:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;
      goto LAB_0029a7e1;
    }
    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |
              (uVar19 & 0xffffffff) << 0x38;
    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28
                | (uVar12 & 0xffffffff) << 0x38;
    if (iVar11 != 0) {
      uVar19 = 0;
      do {
        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);
        puVar9[uVar19 + 2] =
             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |
             uVar12 << 0x38;
        bVar21 = uVar19 != iVar11 - 1;
        uVar19 = uVar19 + 1;
      } while (bVar21);
      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;
    }
    if (iVar16 == 0) {
      if (uVar10 != (int)puVar15 - iVar18) {
LAB_0029a880:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
      }
      goto LAB_0029a7e1;
    }
    uVar19 = 0;
    do {
      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);
      puVar15[uVar19] =
           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |
           uVar12 << 0x38;
      bVar21 = iVar16 - 1 != uVar19;
      uVar19 = uVar19 + 1;
    } while (bVar21);
    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;
LAB_0029a5c6:
    *pphash = (uchar *)puVar9;
    *phashlen = uVar10;
  }
  operator_delete(pvVar8);
LAB_0029a5dd:
  if (pvVar7 != (void *)0x0) {
    operator_delete(pvVar7);
  }
  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);
  }
  return;
}



void FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)

{
  uint *puVar1;
  byte bVar2;
  char cVar3;
  uint uVar4;
  long lVar5;
  long lVar6;
  ulong *puVar7;
  uint uVar8;
  int iVar9;
  ulong uVar10;
  uint uVar11;
  byte *pbVar12;
  ulong *puVar13;
  int iVar14;
  uint uVar15;
  int iVar16;
  ulong uVar17;
  ulong uVar18;
  bool bVar19;
  long local_78;
  long local_70;
  long local_58;
  long local_50;
  long local_48;
  
  uVar17 = param_1[1] - *param_1 >> 3;
  iVar16 = (int)uVar17;
  uVar17 = uVar17 & 0xffffffff;
  local_58 = 0;
  local_50 = 0;
  local_48 = 0;
  if (uVar17 == 0) {
    local_50 = 0;
    local_48 = uVar17 * 4;
  }
  else {
    local_58 = FUN_002d9490();
    uVar10 = 0;
    local_50 = uVar17 * 4 + local_58;
    do {
      *(undefined4 *)(local_58 + uVar10 * 4) = 0;
      uVar10 = uVar10 + 1;
      local_48 = local_50;
    } while (uVar17 != uVar10);
  }
  if (iVar16 != 0) {
    lVar5 = *param_1;
    uVar17 = 0;
    do {
      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);
      uVar8 = 0;
      while (bVar2 = *pbVar12, bVar2 != 0) {
        while( true ) {
          pbVar12 = pbVar12 + 1;
          uVar8 = uVar8 * 0x10 + (uint)bVar2;
          if ((uVar8 & 0xf0000000) == 0) break;
          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;
          bVar2 = *pbVar12;
          if (bVar2 == 0) goto LAB_0029a3ca;
        }
      }
LAB_0029a3ca:
      *(uint *)(local_58 + uVar17 * 4) = uVar8;
      bVar19 = iVar16 - 1 != uVar17;
      uVar17 = uVar17 + 1;
    } while (bVar19);
  }
                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */
  uVar8 = FUN_0029a200(&local_58,0);
  uVar17 = (ulong)uVar8;
  if (uVar17 == 0) {
    local_70 = 0;
    lVar5 = 0;
  }
  else {
    lVar5 = FUN_002d9490(uVar17 * 4);
    uVar10 = 0;
    do {
      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;
      uVar10 = uVar10 + 1;
    } while (uVar17 != uVar10);
    local_70 = lVar5 + uVar17 * 4;
  }
  if (param_2 + iVar16 == 0) {
    local_78 = 0;
    lVar6 = 0;
  }
  else {
    uVar18 = (ulong)(uint)(param_2 + iVar16);
                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */
    lVar6 = FUN_002d9490(uVar18 * 4);
    uVar10 = 0;
    do {
      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;
      uVar10 = uVar10 + 1;
    } while (uVar18 != uVar10);
    local_78 = lVar6 + uVar18 * 4;
  }
  if (iVar16 != 0) {
    param_1 = (long *)*param_1;
    uVar11 = *(uint *)(*param_1 + 0x20);
    if (uVar11 != 0) {
      uVar10 = 0;
      do {
        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);
        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;
        *puVar1 = uVar11;
        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;
        uVar10 = uVar10 + 1;
        uVar11 = *(uint *)(param_1[uVar10] + 0x20);
      } while (uVar11 != 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");
  }
LAB_0029a4bf:
  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);
  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;
                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */
  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);
  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);
  iVar16 = (int)puVar7;
  if (iVar9 == 0x20) {
    puVar13 = puVar7 + 1;
    uVar11 = (uint)(local_70 - lVar5 >> 2);
    uVar15 = (uint)(local_78 - lVar6 >> 2);
    if (cVar3 == '\0') {
      *(uint *)puVar7 = uVar11;
      *(uint *)((long)puVar7 + 4) = uVar15;
      if (uVar11 != 0) {
        uVar17 = 0;
        do {
          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);
          bVar19 = uVar11 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);
      }
      if (uVar15 != 0) {
        uVar17 = 0;
        do {
          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);
          bVar19 = uVar15 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {
LAB_0029a817:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;
    }
    else {
      *(uint *)puVar7 =
           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;
      *(uint *)((long)puVar7 + 4) =
           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
      if (uVar11 != 0) {
        uVar17 = 0;
        do {
          uVar4 = *(uint *)(lVar5 + uVar17 * 4);
          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =
               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
          bVar19 = uVar11 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);
      }
      if (uVar15 != 0) {
        uVar17 = 0;
        do {
          uVar11 = *(uint *)(lVar6 + uVar17 * 4);
          *(uint *)((long)puVar13 + uVar17 * 4) =
               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;
          bVar19 = uVar15 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {
LAB_0029a837:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;
    }
LAB_0029a7e1:
    *param_3 = (long)puVar7;
    *param_4 = uVar8;
    if (lVar6 == 0) goto LAB_0029a5dd;
  }
  else {
    if (iVar9 != 0x40) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");
    }
    puVar13 = puVar7 + 2;
    uVar17 = local_70 - lVar5 >> 2;
    uVar10 = local_78 - lVar6 >> 2;
    iVar9 = (int)uVar17;
    iVar14 = (int)uVar10;
    if (cVar3 == '\0') {
      *puVar7 = uVar17 & 0xffffffff;
      puVar7[1] = uVar10 & 0xffffffff;
      if (iVar9 != 0) {
        uVar17 = 0;
        do {
          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);
          bVar19 = iVar9 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;
      }
      if (iVar14 != 0) {
        uVar17 = 0;
        do {
          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);
          bVar19 = iVar14 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {
LAB_0029a673:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;
      goto LAB_0029a7e1;
    }
    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |
              (uVar17 & 0xffffffff) << 0x38;
    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28
                | (uVar10 & 0xffffffff) << 0x38;
    if (iVar9 != 0) {
      uVar17 = 0;
      do {
        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);
        puVar7[uVar17 + 2] =
             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |
             uVar10 << 0x38;
        bVar19 = uVar17 != iVar9 - 1;
        uVar17 = uVar17 + 1;
      } while (bVar19);
      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;
    }
    if (iVar14 == 0) {
      if (uVar8 != (int)puVar13 - iVar16) {
LAB_0029a880:
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
      }
      goto LAB_0029a7e1;
    }
    uVar17 = 0;
    do {
      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);
      puVar13[uVar17] =
           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |
           uVar10 << 0x38;
      bVar19 = iVar14 - 1 != uVar17;
      uVar17 = uVar17 + 1;
    } while (bVar19);
    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;
LAB_0029a5c6:
    *param_3 = (long)puVar7;
    *param_4 = uVar8;
  }
  FUN_002dac60(lVar6);
LAB_0029a5dd:
  if (lVar5 != 0) {
    FUN_002dac60(lVar5);
  }
  if (local_58 != 0) {
    FUN_002dac60();
  }
  return;
}


PUSH R15
MOV R15,RDI
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x58
MOV R13,qword ptr [RDI + 0x8]
SUB R13,qword ptr [RDI]
SAR R13,0x3
MOV dword ptr [RSP + 0xc],ESI
MOV EBX,R13D
MOV qword ptr [RSP + 0x20],RDX
MOV qword ptr [RSP + 0x28],RCX
LEA RBP,[RBX*0x4]
MOV qword ptr [RSP + 0x30],0x0
MOV qword ptr [RSP + 0x38],0x0
MOV qword ptr [RSP + 0x40],0x0
TEST RBX,RBX
JZ 0x0029a7c8
MOV RDI,RBP
CALL 0x002d9490
XOR EDX,EDX
ADD RBP,RAX
MOV qword ptr [RSP + 0x30],RAX
MOV qword ptr [RSP + 0x40],RBP
MOV dword ptr [RAX + RDX*0x4],0x0
ADD RDX,0x1
CMP RBX,RDX
JNZ 0x0029a360
MOV qword ptr [RSP + 0x38],RBP
TEST R13D,R13D
JZ 0x0029a3e0
MOV R9,qword ptr [R15]
LEA R8D,[R13 + -0x1]
XOR EDI,EDI
NOP dword ptr [RAX + RAX*0x1]
MOV RDX,qword ptr [R9 + RDI*0x8]
MOV RSI,qword ptr [RDX]
XOR EDX,EDX
NOP dword ptr [RAX]
ADD RSI,0x1
MOVZX ECX,byte ptr [RSI + -0x1]
TEST CL,CL
JZ 0x0029a3ca
SHL EDX,0x4
ADD EDX,ECX
MOV ECX,EDX
AND ECX,0xf0000000
JZ 0x0029a398
SHR ECX,0x18
AND EDX,0xfffffff
ADD RSI,0x1
XOR EDX,ECX
MOVZX ECX,byte ptr [RSI + -0x1]
TEST CL,CL
JNZ 0x0029a3a4
MOV dword ptr [RAX + RDI*0x4],EDX
LEA RDX,[RDI + 0x1]
CMP R8,RDI
JZ 0x0029a3e0
MOV RDI,RDX
JMP 0x0029a388
LEA RDI,[RSP + 0x30]
XOR ESI,ESI
CALL 0x0029a200
MOV R12D,EAX
MOV RBP,R12
TEST R12,R12
JZ 0x0029a749
LEA RDI,[R12*0x4]
CALL 0x002d9490
MOV RBX,RAX
XOR EAX,EAX
NOP dword ptr [RAX]
MOV dword ptr [RBX + RAX*0x4],0x0
ADD RAX,0x1
CMP R12,RAX
JNZ 0x0029a410
LEA RAX,[RBX + R12*0x4]
MOV qword ptr [RSP + 0x18],RAX
MOV R14D,dword ptr [RSP + 0xc]
ADD R14D,R13D
JZ 0x0029a738
MOV R14D,R14D
LEA RDI,[R14*0x4]
CALL 0x002d9490
MOV R12,RAX
XOR EAX,EAX
NOP dword ptr [RAX]
MOV dword ptr [R12 + RAX*0x4],0x0
ADD RAX,0x1
CMP R14,RAX
JNZ 0x0029a450
LEA RAX,[R12 + R14*0x4]
MOV qword ptr [RSP + 0x10],RAX
TEST R13D,R13D
JZ 0x0029a4bf
MOV R9,qword ptr [R15]
MOV RAX,qword ptr [R9]
MOV ESI,dword ptr [RAX + 0x20]
TEST ESI,ESI
JZ 0x0029a850
MOV R8,qword ptr [RSP + 0x30]
LEA EDI,[R13 + -0x1]
XOR ECX,ECX
JMP 0x0029a4a3
ADD RCX,0x1
MOV RAX,qword ptr [R9 + RCX*0x8]
MOV ESI,dword ptr [RAX + 0x20]
TEST ESI,ESI
JZ 0x0029a850
MOV EAX,dword ptr [R8 + RCX*0x4]
XOR EDX,EDX
DIV EBP
LEA RAX,[RBX + RDX*0x4]
MOV EDX,ESI
MOV R10D,dword ptr [RAX]
MOV dword ptr [R12 + RDX*0x4],R10D
MOV dword ptr [RAX],ESI
CMP RCX,RDI
JNZ 0x0029a490
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x18]
TEST RAX,RAX
JZ 0x0029a898
MOV RAX,qword ptr [RAX + 0x8]
MOV R14D,dword ptr [RAX + 0x78]
MOV EAX,dword ptr [RSP + 0xc]
LEA EAX,[RAX + R13*0x1 + 0x2]
ADD EBP,EAX
IMUL EBP,R14D
SHR EBP,0x3
MOV EDI,EBP
CALL 0x002d9430
MOV RDX,qword ptr [0x0043e6b0]
MOV RDX,qword ptr [RDX + 0x18]
TEST RDX,RDX
JZ 0x0029a868
MOV RDX,qword ptr [RDX + 0x8]
MOVZX ECX,byte ptr [RDX + 0x4]
CMP R14D,0x20
JZ 0x0029a690
CMP R14D,0x40
JNZ 0x0029a8b0
MOV RDX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0x10]
LEA RSI,[RAX + 0x10]
SUB RDX,RBX
SUB RDI,R12
SAR RDX,0x2
SAR RDI,0x2
MOV R9D,EDX
MOV R8D,EDI
TEST CL,CL
JZ 0x0029a608
BSWAP R9
BSWAP R8
MOV qword ptr [RAX],R9
MOV qword ptr [RAX + 0x8],R8
TEST EDX,EDX
JZ 0x0029a58b
LEA R8D,[RDX + -0x1]
XOR EDX,EDX
LEA R9,[R8 + 0x1]
JMP 0x0029a573
MOV RDX,RCX
MOV ECX,dword ptr [RBX + RDX*0x4]
BSWAP RCX
MOV qword ptr [RAX + RDX*0x8 + 0x10],RCX
LEA RCX,[RDX + 0x1]
CMP RDX,R8
JNZ 0x0029a570
LEA RSI,[RSI + R9*0x8]
TEST EDI,EDI
JZ 0x0029a7d6
SUB EDI,0x1
XOR EDX,EDX
LEA R8,[RDI + 0x1]
JMP 0x0029a5a3
MOV RDX,RCX
MOV ECX,dword ptr [R12 + RDX*0x4]
BSWAP RCX
MOV qword ptr [RSI + RDX*0x8],RCX
LEA RCX,[RDX + 0x1]
CMP RDI,RDX
JNZ 0x0029a5a0
LEA RDX,[RSI + R8*0x8]
SUB RDX,RAX
CMP EBP,EDX
JNZ 0x0029a880
MOV RDI,qword ptr [RSP + 0x20]
MOV qword ptr [RDI],RAX
MOV RAX,qword ptr [RSP + 0x28]
MOV dword ptr [RAX],EBP
MOV RDI,R12
CALL 0x002dac60
TEST RBX,RBX
JZ 0x0029a5ea
MOV RDI,RBX
CALL 0x002dac60
MOV RDI,qword ptr [RSP + 0x30]
TEST RDI,RDI
JZ 0x0029a5f9
CALL 0x002dac60
ADD RSP,0x58
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV qword ptr [RAX],R9
MOV qword ptr [RAX + 0x8],R8
TEST EDX,EDX
JZ 0x0029a638
LEA R8D,[RDX + -0x1]
XOR EDX,EDX
LEA R9,[R8 + 0x1]
JMP 0x0029a623
MOV RDX,RCX
MOV ECX,dword ptr [RBX + RDX*0x4]
MOV qword ptr [RAX + RDX*0x8 + 0x10],RCX
LEA RCX,[RDX + 0x1]
CMP R8,RDX
JNZ 0x0029a620
LEA RSI,[RSI + R9*0x8]
TEST EDI,EDI
JZ 0x0029a800
SUB EDI,0x1
XOR EDX,EDX
LEA R8,[RDI + 0x1]
JMP 0x0029a653
MOV RDX,RCX
MOV ECX,dword ptr [R12 + RDX*0x4]
MOV qword ptr [RSI + RDX*0x8],RCX
LEA RCX,[RDX + 0x1]
CMP RDI,RDX
JNZ 0x0029a650
LEA RDX,[RSI + R8*0x8]
SUB RDX,RAX
CMP EBP,EDX
JZ 0x0029a5c6
LEA RDX,[0x38bc80]
MOV ESI,0x40e
LEA RDI,[0x38b422]
CALL 0x0017c650
MOV RDX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RSP + 0x10]
LEA RSI,[RAX + 0x8]
SUB RDX,RBX
SUB RDI,R12
SAR RDX,0x2
SAR RDI,0x2
TEST CL,CL
JZ 0x0029a759
MOV ECX,EDX
BSWAP ECX
MOV dword ptr [RAX],ECX
MOV ECX,EDI
BSWAP ECX
MOV dword ptr [RAX + 0x4],ECX
TEST EDX,EDX
JZ 0x0029a6f1
LEA R8D,[RDX + -0x1]
XOR EDX,EDX
LEA R9,[R8 + 0x1]
JMP 0x0029a6db
MOV RDX,RCX
MOV ECX,dword ptr [RBX + RDX*0x4]
BSWAP ECX
MOV dword ptr [RAX + RDX*0x4 + 0x8],ECX
LEA RCX,[RDX + 0x1]
CMP R8,RDX
JNZ 0x0029a6d8
LEA RSI,[RSI + R9*0x4]
TEST EDI,EDI
JZ 0x0029a830
SUB EDI,0x1
XOR EDX,EDX
LEA R8,[RDI + 0x1]
JMP 0x0029a70b
MOV RDX,RCX
MOV ECX,dword ptr [R12 + RDX*0x4]
BSWAP ECX
MOV dword ptr [RSI + RDX*0x4],ECX
LEA RCX,[RDX + 0x1]
CMP RDI,RDX
JNZ 0x0029a708
LEA RDX,[RSI + R8*0x4]
SUB RDX,RAX
CMP EBP,EDX
JZ 0x0029a5c6
JMP 0x0029a837
MOV qword ptr [RSP + 0x10],0x0
XOR R12D,R12D
JMP 0x0029a46a
MOV qword ptr [RSP + 0x18],0x0
XOR EBX,EBX
JMP 0x0029a429
MOV dword ptr [RAX],EDX
MOV dword ptr [RAX + 0x4],EDI
TEST EDX,EDX
JZ 0x0029a787
LEA R8D,[RDX + -0x1]
XOR EDX,EDX
LEA R9,[R8 + 0x1]
JMP 0x0029a773
MOV RDX,RCX
MOV ECX,dword ptr [RBX + RDX*0x4]
MOV dword ptr [RAX + RDX*0x4 + 0x8],ECX
LEA RCX,[RDX + 0x1]
CMP R8,RDX
JNZ 0x0029a770
LEA RSI,[RSI + R9*0x4]
TEST EDI,EDI
JZ 0x0029a810
SUB EDI,0x1
XOR EDX,EDX
LEA R8,[RDI + 0x1]
JMP 0x0029a7a3
MOV RDX,RCX
MOV ECX,dword ptr [R12 + RDX*0x4]
MOV dword ptr [RSI + RDX*0x4],ECX
LEA RCX,[RDX + 0x1]
CMP RDI,RDX
JNZ 0x0029a7a0
LEA RDX,[RSI + R8*0x4]
SUB RDX,RAX
CMP EBP,EDX
JZ 0x0029a5c6
JMP 0x0029a817
MOV qword ptr [RSP + 0x40],RBP
XOR EAX,EAX
XOR EBP,EBP
JMP 0x0029a370
SUB RSI,RAX
CMP EBP,ESI
JNZ 0x0029a880
MOV RDI,qword ptr [RSP + 0x20]
MOV qword ptr [RDI],RAX
MOV RAX,qword ptr [RSP + 0x28]
MOV dword ptr [RAX],EBP
TEST R12,R12
JZ 0x0029a5dd
JMP 0x0029a5d5
SUB RSI,RAX
CMP EBP,ESI
JZ 0x0029a7e1
JMP 0x0029a673
SUB RSI,RAX
CMP EBP,ESI
JZ 0x0029a7e1
LEA RDX,[0x38bcc0]
MOV ESI,0x40e
LEA RDI,[0x38b422]
CALL 0x0017c650
SUB RSI,RAX
CMP EBP,ESI
JZ 0x0029a7e1
LEA RDX,[0x38bce0]
MOV ESI,0x40e
LEA RDI,[0x38b422]
CALL 0x0017c650
LEA RDX,[0x38bd08]
MOV ESI,0x19a
LEA RDI,[0x3726ed]
CALL 0x0017c650
LEA RDX,[0x38bcfc]
MOV ESI,0x69
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x38bca0]
MOV ESI,0x40e
LEA RDI,[0x38b422]
CALL 0x0017c650
LEA RDX,[0x38bcfc]
MOV ESI,0x69
LEA RDI,[0x3726d0]
CALL 0x0017c650
LEA RDX,[0x38bd20]
MOV ESI,0x3e9
LEA RDI,[0x38b422]
CALL 0x0017c650
(translation_unit "void FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */\n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */\n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */\n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */\n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)" identifier (parameter_list "(long *param_1,int param_2,long *param_3,uint *param_4)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */\n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */\n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "ulong *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (expression_statement "uVar17 = param_1[1] - *param_1 >> 3;" (assignment_expression "uVar17 = param_1[1] - *param_1 >> 3" identifier = (binary_expression "param_1[1] - *param_1 >> 3" (binary_expression "param_1[1] - *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) - (pointer_expression "*param_1" * identifier)) >> number_literal)) ;) (expression_statement "iVar16 = (int)uVar17;" (assignment_expression "iVar16 = (int)uVar17" identifier = (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar17 = uVar17 & 0xffffffff;" (assignment_expression "uVar17 = uVar17 & 0xffffffff" identifier = (binary_expression "uVar17 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (if_statement "if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = uVar17 * 4;" (assignment_expression "local_48 = uVar17 * 4" identifier = (binary_expression "uVar17 * 4" identifier * number_literal)) ;) }) (else_clause "else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" else (compound_statement "{\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" { (expression_statement "local_58 = FUN_002d9490();" (assignment_expression "local_58 = FUN_002d9490()" identifier = (call_expression "FUN_002d9490()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "local_50 = uVar17 * 4 + local_58;" (assignment_expression "local_50 = uVar17 * 4 + local_58" identifier = (binary_expression "uVar17 * 4 + local_58" (binary_expression "uVar17 * 4" identifier * number_literal) + identifier)) ;) (do_statement "do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);" do (compound_statement "{\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    }" { (expression_statement "*(undefined4 *)(local_58 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(local_58 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(local_58 + uVar10 * 4)" * (cast_expression "(undefined4 *)(local_58 + uVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + uVar10 * 4)" ( (binary_expression "local_58 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) }) while (parenthesized_expression "(uVar17 != uVar10)" ( (binary_expression "uVar17 != uVar10" identifier != identifier) )) ;) }))) (if_statement "if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }" { (expression_statement "lVar5 = *param_1;" (assignment_expression "lVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);" do (compound_statement "{\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    }" { (expression_statement "pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);" (assignment_expression "pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8)" identifier = (cast_expression "(byte *)**(undefined8 **)(lVar5 + uVar17 * 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined8 **)(lVar5 + uVar17 * 8)" * (pointer_expression "*(undefined8 **)(lVar5 + uVar17 * 8)" * (cast_expression "(undefined8 **)(lVar5 + uVar17 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + uVar17 * 8)" ( (binary_expression "lVar5 + uVar17 * 8" identifier + (binary_expression "uVar17 * 8" identifier * number_literal)) ))))))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (while_statement "while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }" while (parenthesized_expression "(bVar2 = *pbVar12, bVar2 != 0)" ( (comma_expression "bVar2 = *pbVar12, bVar2 != 0" (assignment_expression "bVar2 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) , (binary_expression "bVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }" { (while_statement "while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }" { (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar8 * 0x10 + (uint)bVar2;" (assignment_expression "uVar8 = uVar8 * 0x10 + (uint)bVar2" identifier = (binary_expression "uVar8 * 0x10 + (uint)bVar2" (binary_expression "uVar8 * 0x10" identifier * number_literal) + (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((uVar8 & 0xf0000000) == 0) break;" if (parenthesized_expression "((uVar8 & 0xf0000000) == 0)" ( (binary_expression "(uVar8 & 0xf0000000) == 0" (parenthesized_expression "(uVar8 & 0xf0000000)" ( (binary_expression "uVar8 & 0xf0000000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;" (assignment_expression "uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18" identifier = (binary_expression "uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18" (binary_expression "uVar8 & 0xfffffff" identifier & number_literal) ^ (binary_expression "(uVar8 & 0xf0000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xf0000000)" ( (binary_expression "uVar8 & 0xf0000000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "bVar2 = *pbVar12;" (assignment_expression "bVar2 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (if_statement "if (bVar2 == 0) goto LAB_0029a3ca;" if (parenthesized_expression "(bVar2 == 0)" ( (binary_expression "bVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0029a3ca;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;" statement_identifier : (expression_statement "*(uint *)(local_58 + uVar17 * 4) = uVar8;" (assignment_expression "*(uint *)(local_58 + uVar17 * 4) = uVar8" (pointer_expression "*(uint *)(local_58 + uVar17 * 4)" * (cast_expression "(uint *)(local_58 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + uVar17 * 4)" ( (binary_expression "local_58 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = identifier) ;)) (expression_statement "bVar19 = iVar16 - 1 != uVar17;" (assignment_expression "bVar19 = iVar16 - 1 != uVar17" identifier = (binary_expression "iVar16 - 1 != uVar17" (binary_expression "iVar16 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) })) comment (expression_statement "uVar8 = FUN_0029a200(&local_58,0);" (assignment_expression "uVar8 = FUN_0029a200(&local_58,0)" identifier = (call_expression "FUN_0029a200(&local_58,0)" identifier (argument_list "(&local_58,0)" ( (pointer_expression "&local_58" & identifier) , number_literal )))) ;) (expression_statement "uVar17 = (ulong)uVar8;" (assignment_expression "uVar17 = (ulong)uVar8" identifier = (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    local_70 = 0;\n    lVar5 = 0;\n  }" { (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" else (compound_statement "{\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" { (expression_statement "lVar5 = FUN_002d9490(uVar17 * 4);" (assignment_expression "lVar5 = FUN_002d9490(uVar17 * 4)" identifier = (call_expression "FUN_002d9490(uVar17 * 4)" identifier (argument_list "(uVar17 * 4)" ( (binary_expression "uVar17 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);" do (compound_statement "{\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    }" { (expression_statement "*(undefined4 *)(lVar5 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar5 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar5 + uVar10 * 4)" * (cast_expression "(undefined4 *)(lVar5 + uVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar10 * 4)" ( (binary_expression "lVar5 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar17 != uVar10)" ( (binary_expression "uVar17 != uVar10" identifier != identifier) )) ;) (expression_statement "local_70 = lVar5 + uVar17 * 4;" (assignment_expression "local_70 = lVar5 + uVar17 * 4" identifier = (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal))) ;) }))) (if_statement "if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" if (parenthesized_expression "(param_2 + iVar16 == 0)" ( (binary_expression "param_2 + iVar16 == 0" (binary_expression "param_2 + iVar16" identifier + identifier) == number_literal) )) (compound_statement "{\n    local_78 = 0;\n    lVar6 = 0;\n  }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "lVar6 = 0;" (assignment_expression "lVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" else (compound_statement "{\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" { (expression_statement "uVar18 = (ulong)(uint)(param_2 + iVar16);" (assignment_expression "uVar18 = (ulong)(uint)(param_2 + iVar16)" identifier = (call_expression "(ulong)(uint)(param_2 + iVar16)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(param_2 + iVar16)" ( (binary_expression "param_2 + iVar16" identifier + identifier) )))) ;) comment (expression_statement "lVar6 = FUN_002d9490(uVar18 * 4);" (assignment_expression "lVar6 = FUN_002d9490(uVar18 * 4)" identifier = (call_expression "FUN_002d9490(uVar18 * 4)" identifier (argument_list "(uVar18 * 4)" ( (binary_expression "uVar18 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);" do (compound_statement "{\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    }" { (expression_statement "*(undefined4 *)(lVar6 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar6 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar6 + uVar10 * 4)" * (cast_expression "(undefined4 *)(lVar6 + uVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar10 * 4)" ( (binary_expression "lVar6 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar10)" ( (binary_expression "uVar18 != uVar10" identifier != identifier) )) ;) (expression_statement "local_78 = lVar6 + uVar18 * 4;" (assignment_expression "local_78 = lVar6 + uVar18 * 4" identifier = (binary_expression "lVar6 + uVar18 * 4" identifier + (binary_expression "uVar18 * 4" identifier * number_literal))) ;) }))) (if_statement "if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" { (expression_statement "param_1 = (long *)*param_1;" (assignment_expression "param_1 = (long *)*param_1" identifier = (cast_expression "(long *)*param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "uVar11 = *(uint *)(*param_1 + 0x20);" (assignment_expression "uVar11 = *(uint *)(*param_1 + 0x20)" identifier = (pointer_expression "*(uint *)(*param_1 + 0x20)" * (cast_expression "(uint *)(*param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (if_statement "if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);" do (compound_statement "{\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      }" { (expression_statement "puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);" (assignment_expression "puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" identifier = (cast_expression "(uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" ( (binary_expression "lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4" identifier + (binary_expression "((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4" (parenthesized_expression "((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17)" ( (binary_expression "(ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17" (binary_expression "(ulong)*(uint *)(local_58 + uVar10 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(local_58 + uVar10 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + uVar10 * 4)" ( (binary_expression "local_58 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) % identifier) )) * number_literal)) )))) ;) (expression_statement "*(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;" (assignment_expression "*(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1" (pointer_expression "*(uint *)(lVar6 + (ulong)uVar11 * 4)" * (cast_expression "(uint *)(lVar6 + (ulong)uVar11 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + (ulong)uVar11 * 4)" ( (binary_expression "lVar6 + (ulong)uVar11 * 4" identifier + (binary_expression "(ulong)uVar11 * 4" (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = uVar11;" (assignment_expression "*puVar1 = uVar11" (pointer_expression "*puVar1" * identifier) = identifier) ;) (if_statement "if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;" if (parenthesized_expression "(uVar10 == iVar16 - 1)" ( (binary_expression "uVar10 == iVar16 - 1" identifier == (binary_expression "iVar16 - 1" identifier - number_literal)) )) (goto_statement "goto LAB_0029a4bf;" goto statement_identifier ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = *(uint *)(param_1[uVar10] + 0x20);" (assignment_expression "uVar11 = *(uint *)(param_1[uVar10] + 0x20)" identifier = (pointer_expression "*(uint *)(param_1[uVar10] + 0x20)" * (cast_expression "(uint *)(param_1[uVar10] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[uVar10] + 0x20)" ( (binary_expression "param_1[uVar10] + 0x20" (subscript_expression "param_1[uVar10]" identifier [ identifier ]) + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");" (call_expression "FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x19a,"dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""dynsym_index"" " string_content ") ))) ;) })) (labeled_statement "LAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" statement_identifier : (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../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 "iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);" (assignment_expression "iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" identifier = (pointer_expression "*(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" * (cast_expression "(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;" (assignment_expression "uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3" identifier = (binary_expression "(uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3" (binary_expression "(uVar8 + param_2 + 2 + iVar16) * iVar9" (parenthesized_expression "(uVar8 + param_2 + 2 + iVar16)" ( (binary_expression "uVar8 + param_2 + 2 + iVar16" (binary_expression "uVar8 + param_2 + 2" (binary_expression "uVar8 + param_2" identifier + identifier) + number_literal) + identifier) )) * identifier) >> number_literal)) ;) comment (expression_statement "puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);" (assignment_expression "puVar7 = (ulong *)thunk_FUN_002d9490(uVar8)" identifier = (cast_expression "(ulong *)thunk_FUN_002d9490(uVar8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_002d9490(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../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 "cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);" (assignment_expression "cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" identifier = (pointer_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" * (cast_expression "(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar16 = (int)puVar7;" (assignment_expression "iVar16 = (int)puVar7" identifier = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" if (parenthesized_expression "(iVar9 == 0x20)" ( (binary_expression "iVar9 == 0x20" identifier == number_literal) )) (compound_statement "{\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }" { (expression_statement "puVar13 = puVar7 + 1;" (assignment_expression "puVar13 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = (uint)(local_70 - lVar5 >> 2);" (assignment_expression "uVar11 = (uint)(local_70 - lVar5 >> 2)" identifier = (call_expression "(uint)(local_70 - lVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_70 - lVar5 >> 2)" ( (binary_expression "local_70 - lVar5 >> 2" (binary_expression "local_70 - lVar5" identifier - identifier) >> number_literal) )))) ;) (expression_statement "uVar15 = (uint)(local_78 - lVar6 >> 2);" (assignment_expression "uVar15 = (uint)(local_78 - lVar6 >> 2)" identifier = (call_expression "(uint)(local_78 - lVar6 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 - lVar6 >> 2)" ( (binary_expression "local_78 - lVar6 >> 2" (binary_expression "local_78 - lVar6" identifier - identifier) >> number_literal) )))) ;) (if_statement "if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }" { (expression_statement "*(uint *)puVar7 = uVar11;" (assignment_expression "*(uint *)puVar7 = uVar11" (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((long)puVar7 + 4) = uVar15;" (assignment_expression "*(uint *)((long)puVar7 + 4) = uVar15" (pointer_expression "*(uint *)((long)puVar7 + 4)" * (cast_expression "(uint *)((long)puVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 4)" ( (binary_expression "(long)puVar7 + 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);" (assignment_expression "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4)" (pointer_expression "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8)" * (cast_expression "(undefined4 *)((long)puVar7 + uVar17 * 4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + uVar17 * 4 + 8)" ( (binary_expression "(long)puVar7 + uVar17 * 4 + 8" (binary_expression "(long)puVar7 + uVar17 * 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined4 *)(lVar5 + uVar17 * 4)" * (cast_expression "(undefined4 *)(lVar5 + uVar17 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = uVar11 - 1 != uVar17;" (assignment_expression "bVar19 = uVar11 - 1 != uVar17" identifier = (binary_expression "uVar11 - 1 != uVar17" (binary_expression "uVar11 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);" (assignment_expression "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" identifier = (cast_expression "(ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (binary_expression "(long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)(uVar11 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar11 - 1) + 1)" ( (binary_expression "(ulong)(uVar11 - 1) + 1" (call_expression "(ulong)(uVar11 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 - 1)" ( (binary_expression "uVar11 - 1" identifier - number_literal) ))) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "*(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "*(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4)" (pointer_expression "*(uint *)((long)puVar13 + uVar17 * 4)" * (cast_expression "(uint *)((long)puVar13 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + uVar17 * 4)" ( (binary_expression "(long)puVar13 + uVar17 * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = (pointer_expression "*(uint *)(lVar6 + uVar17 * 4)" * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = uVar15 - 1 != uVar17;" (assignment_expression "bVar19 = uVar15 - 1 != uVar17" identifier = (binary_expression "uVar15 - 1 != uVar17" (binary_expression "uVar15 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16" identifier != (binary_expression "((int)puVar13 + uVar15 * 4) - iVar16" (parenthesized_expression "((int)puVar13 + uVar15 * 4)" ( (binary_expression "(int)puVar13 + uVar15 * 4" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar15 * 4" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a817;" goto statement_identifier ;)) }) (else_clause "else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" else (compound_statement "{\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" { (expression_statement "*(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "*(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (pointer_expression "*(uint *)((long)puVar7 + 4)" * (cast_expression "(uint *)((long)puVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 4)" ( (binary_expression "(long)puVar7 + 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "uVar4 = *(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "uVar4 = *(uint *)(lVar5 + uVar17 * 4)" identifier = (pointer_expression "*(uint *)(lVar5 + uVar17 * 4)" * (cast_expression "(uint *)(lVar5 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)((long)puVar7 + uVar17 * 4 + 8)" * (cast_expression "(uint *)((long)puVar7 + uVar17 * 4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + uVar17 * 4 + 8)" ( (binary_expression "(long)puVar7 + uVar17 * 4 + 8" (binary_expression "(long)puVar7 + uVar17 * 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) + number_literal) )))) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar19 = uVar11 - 1 != uVar17;" (assignment_expression "bVar19 = uVar11 - 1 != uVar17" identifier = (binary_expression "uVar11 - 1 != uVar17" (binary_expression "uVar11 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);" (assignment_expression "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" identifier = (cast_expression "(ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (binary_expression "(long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)(uVar11 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar11 - 1) + 1)" ( (binary_expression "(ulong)(uVar11 - 1) + 1" (call_expression "(ulong)(uVar11 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 - 1)" ( (binary_expression "uVar11 - 1" identifier - number_literal) ))) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "uVar11 = *(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "uVar11 = *(uint *)(lVar6 + uVar17 * 4)" identifier = (pointer_expression "*(uint *)(lVar6 + uVar17 * 4)" * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*(uint *)((long)puVar13 + uVar17 * 4)" * (cast_expression "(uint *)((long)puVar13 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + uVar17 * 4)" ( (binary_expression "(long)puVar13 + uVar17 * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar19 = uVar15 - 1 != uVar17;" (assignment_expression "bVar19 = uVar15 - 1 != uVar17" identifier = (binary_expression "uVar15 - 1 != uVar17" (binary_expression "uVar15 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16" identifier != (binary_expression "((int)puVar13 + uVar15 * 4) - iVar16" (parenthesized_expression "((int)puVar13 + uVar15 * 4)" ( (binary_expression "(int)puVar13 + uVar15 * 4" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar15 * 4" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a837;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0029a7e1:\n    *param_3 = (long)puVar7;" statement_identifier : (expression_statement "*param_3 = (long)puVar7;" (assignment_expression "*param_3 = (long)puVar7" (pointer_expression "*param_3" * identifier) = (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (expression_statement "*param_4 = uVar8;" (assignment_expression "*param_4 = uVar8" (pointer_expression "*param_4" * identifier) = identifier) ;) (if_statement "if (lVar6 == 0) goto LAB_0029a5dd;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0029a5dd;" goto statement_identifier ;)) }) (else_clause "else {\n    if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" else (compound_statement "{\n    if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" { (if_statement "if (iVar9 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" if (parenthesized_expression "(iVar9 != 0x40)" ( (binary_expression "iVar9 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""create_elf_hash_table"" " string_content ") ))) ;) })) (expression_statement "puVar13 = puVar7 + 2;" (assignment_expression "puVar13 = puVar7 + 2" identifier = (binary_expression "puVar7 + 2" identifier + number_literal)) ;) (expression_statement "uVar17 = local_70 - lVar5 >> 2;" (assignment_expression "uVar17 = local_70 - lVar5 >> 2" identifier = (binary_expression "local_70 - lVar5 >> 2" (binary_expression "local_70 - lVar5" identifier - identifier) >> number_literal)) ;) (expression_statement "uVar10 = local_78 - lVar6 >> 2;" (assignment_expression "uVar10 = local_78 - lVar6 >> 2" identifier = (binary_expression "local_78 - lVar6 >> 2" (binary_expression "local_78 - lVar6" identifier - identifier) >> number_literal)) ;) (expression_statement "iVar9 = (int)uVar17;" (assignment_expression "iVar9 = (int)uVar17" identifier = (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar14 = (int)uVar10;" (assignment_expression "iVar14 = (int)uVar10" identifier = (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" { (expression_statement "*puVar7 = uVar17 & 0xffffffff;" (assignment_expression "*puVar7 = uVar17 & 0xffffffff" (pointer_expression "*puVar7" * identifier) = (binary_expression "uVar17 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "puVar7[1] = uVar10 & 0xffffffff;" (assignment_expression "puVar7[1] = uVar10 & 0xffffffff" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (binary_expression "uVar10 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4)" (subscript_expression "puVar7[uVar17 + 2]" identifier [ (binary_expression "uVar17 + 2" identifier + number_literal) ]) = (binary_expression "(ulong)*(uint *)(lVar5 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar5 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = iVar9 - 1 != uVar17;" (assignment_expression "bVar19 = iVar9 - 1 != uVar17" identifier = (binary_expression "iVar9 - 1 != uVar17" (binary_expression "iVar9 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;" (assignment_expression "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1" identifier = (binary_expression "puVar13 + (ulong)(iVar9 - 1) + 1" (binary_expression "puVar13 + (ulong)(iVar9 - 1)" identifier + (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 1)" ( (binary_expression "iVar9 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (if_statement "if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4)" (subscript_expression "puVar13[uVar17]" identifier [ identifier ]) = (binary_expression "(ulong)*(uint *)(lVar6 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = iVar14 - 1 != uVar17;" (assignment_expression "bVar19 = iVar14 - 1 != uVar17" identifier = (binary_expression "iVar14 - 1 != uVar17" (binary_expression "iVar14 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16" identifier != (binary_expression "((int)puVar13 + iVar14 * 8) - iVar16" (parenthesized_expression "((int)puVar13 + iVar14 * 8)" ( (binary_expression "(int)puVar13 + iVar14 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar14 * 8" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a673;" goto statement_identifier ;)) (goto_statement "goto LAB_0029a7e1;" goto statement_identifier ;) })) (expression_statement "*puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;" (assignment_expression "*puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38" (pointer_expression "*puVar7" * identifier) = (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38" (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28" (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18" (binary_expression "(uVar17 & 0xff000000) << 8" (parenthesized_expression "(uVar17 & 0xff000000)" ( (binary_expression "uVar17 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar17 & 0xff0000) << 0x18" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar17 & 0xff00) << 0x28" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar17 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar17 & 0xffffffff)" ( (binary_expression "uVar17 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) (expression_statement "puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;" (assignment_expression "puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar10 & 0xffffffff)" ( (binary_expression "uVar10 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) (if_statement "if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);" do (compound_statement "{\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      }" { (expression_statement "uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4)" identifier = (binary_expression "(ulong)*(uint *)(lVar5 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar5 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;" (assignment_expression "puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38" (subscript_expression "puVar7[uVar17 + 2]" identifier [ (binary_expression "uVar17 + 2" identifier + number_literal) ]) = (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar19 = uVar17 != iVar9 - 1;" (assignment_expression "bVar19 = uVar17 != iVar9 - 1" identifier = (binary_expression "uVar17 != iVar9 - 1" identifier != (binary_expression "iVar9 - 1" identifier - number_literal))) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;" (assignment_expression "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1" identifier = (binary_expression "puVar13 + (ulong)(iVar9 - 1) + 1" (binary_expression "puVar13 + (ulong)(iVar9 - 1)" identifier + (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 1)" ( (binary_expression "iVar9 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (if_statement "if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" { (if_statement "if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" { (labeled_statement "LAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a7e1;" goto statement_identifier ;) })) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);" do (compound_statement "{\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    }" { (expression_statement "uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4)" identifier = (binary_expression "(ulong)*(uint *)(lVar6 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;" (assignment_expression "puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38" (subscript_expression "puVar13[uVar17]" identifier [ identifier ]) = (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar19 = iVar14 - 1 != uVar17;" (assignment_expression "bVar19 = iVar14 - 1 != uVar17" identifier = (binary_expression "iVar14 - 1 != uVar17" (binary_expression "iVar14 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;" if (parenthesized_expression "(uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16" identifier != (binary_expression "((int)puVar13 + iVar14 * 8) - iVar16" (parenthesized_expression "((int)puVar13 + iVar14 * 8)" ( (binary_expression "(int)puVar13 + iVar14 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar14 * 8" identifier * number_literal)) )) - identifier)) )) (goto_statement "goto LAB_0029a880;" goto statement_identifier ;)) (labeled_statement "LAB_0029a5c6:\n    *param_3 = (long)puVar7;" statement_identifier : (expression_statement "*param_3 = (long)puVar7;" (assignment_expression "*param_3 = (long)puVar7" (pointer_expression "*param_3" * identifier) = (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (expression_statement "*param_4 = uVar8;" (assignment_expression "*param_4 = uVar8" (pointer_expression "*param_4" * identifier) = identifier) ;) }))) (expression_statement "FUN_002dac60(lVar6);" (call_expression "FUN_002dac60(lVar6)" identifier (argument_list "(lVar6)" ( identifier ))) ;) (labeled_statement "LAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }" statement_identifier : (if_statement "if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_002dac60(lVar5);\n  }" { (expression_statement "FUN_002dac60(lVar5);" (call_expression "FUN_002dac60(lVar5)" identifier (argument_list "(lVar5)" ( identifier ))) ;) }))) (if_statement "if (local_58 != 0) {\n    FUN_002dac60();\n  }" if (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_002dac60();\n  }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n\nvoid gold::Dynobj::create_elf_hash_table\n               (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,\n               uchar **pphash,uint *phashlen)\n\n{\n  uint *puVar1;\n  pointer puVar2;\n  byte bVar3;\n  char cVar4;\n  uint uVar5;\n  pointer ppSVar6;\n  void *pvVar7;\n  void *pvVar8;\n  ulong *puVar9;\n  uint uVar10;\n  int iVar11;\n  ulong uVar12;\n  uint uVar13;\n  byte *pbVar14;\n  ulong *puVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  ulong uVar19;\n  ulong uVar20;\n  bool bVar21;\n  void *local_78;\n  void *local_70;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;\n  \n  uVar19 = (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start >> 3;\n  iVar18 = (int)uVar19;\n  uVar19 = uVar19 & 0xffffffff;\n  puVar2 = (pointer)(uVar19 * 4);\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 (uVar19 == 0) {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = puVar2;\n  }\n  else {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);\n    uVar12 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);\n    do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);\n  }\n  if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar19 = 0;\n    do {\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n  }\n                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */\n  uVar10 = compute_bucket_count(&dynsym_hashvals,false);\n  uVar19 = (ulong)uVar10;\n  if (uVar19 == 0) {\n    local_70 = (void *)0x0;\n    pvVar7 = (void *)0x0;\n  }\n  else {\n    pvVar7 = operator_new(uVar19 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);\n    local_70 = (void *)((long)pvVar7 + uVar19 * 4);\n  }\n  if (param_2 + iVar18 == 0) {\n    local_78 = (void *)0x0;\n    pvVar8 = (void *)0x0;\n  }\n  else {\n    uVar20 = (ulong)(param_2 + iVar18);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    pvVar8 = operator_new(uVar20 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);\n    local_78 = (void *)((long)pvVar8 + uVar20 * 4);\n  }\n  if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar13 = (*ppSVar6)->dynsym_index_;\n    if (uVar13 != 0) {\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  iVar11 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78);\n  uVar10 = (uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3;\n                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */\n  puVar9 = (ulong *)operator_new__((ulong)uVar10);\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  cVar4 = *(char *)(*(long *)(parameters->target_ + 8) + 4);\n  iVar18 = (int)puVar9;\n  if (iVar11 == 0x20) {\n    puVar15 = puVar9 + 1;\n    uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);\n    uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);\n    if (cVar4 == '\0') {\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n    if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar15 = puVar9 + 2;\n    uVar19 = (long)local_70 - (long)pvVar7 >> 2;\n    uVar12 = (long)local_78 - (long)pvVar8 >> 2;\n    iVar11 = (int)uVar19;\n    iVar16 = (int)uVar12;\n    if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;\n    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;\n    if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }\n    if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar19 = 0;\n    do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;\nLAB_0029a5c6:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n  }\n  operator_delete(pvVar8);\nLAB_0029a5dd:\n  if (pvVar7 != (void *)0x0) {\n    operator_delete(pvVar7);\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.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start);\n  }\n  return;\n}\n\n" comment (function_definition "void gold::Dynobj::create_elf_hash_table\n               (vector<gold::Symbol*,_std::allocator<gold::Symbol*>_> *dynsyms,uint param_2,\n               uchar **pphash,uint *phashlen)\n\n{\n  uint *puVar1;\n  pointer puVar2;\n  byte bVar3;\n  char cVar4;\n  uint uVar5;\n  pointer ppSVar6;\n  void *pvVar7;\n  void *pvVar8;\n  ulong *puVar9;\n  uint uVar10;\n  int iVar11;\n  ulong uVar12;\n  uint uVar13;\n  byte *pbVar14;\n  ulong *puVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  ulong uVar19;\n  ulong uVar20;\n  bool bVar21;\n  void *local_78;\n  void *local_70;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;\n  \n  uVar19 = (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start >> 3;\n  iVar18 = (int)uVar19;\n  uVar19 = uVar19 & 0xffffffff;\n  puVar2 = (pointer)(uVar19 * 4);\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 (uVar19 == 0) {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = puVar2;\n  }\n  else {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);\n    uVar12 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);\n    do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);\n  }\n  if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar19 = 0;\n    do {\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n  }\n                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */\n  uVar10 = compute_bucket_count(&dynsym_hashvals,false);\n  uVar19 = (ulong)uVar10;\n  if (uVar19 == 0) {\n    local_70 = (void *)0x0;\n    pvVar7 = (void *)0x0;\n  }\n  else {\n    pvVar7 = operator_new(uVar19 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);\n    local_70 = (void *)((long)pvVar7 + uVar19 * 4);\n  }\n  if (param_2 + iVar18 == 0) {\n    local_78 = (void *)0x0;\n    pvVar8 = (void *)0x0;\n  }\n  else {\n    uVar20 = (ulong)(param_2 + iVar18);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    pvVar8 = operator_new(uVar20 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);\n    local_78 = (void *)((long)pvVar8 + uVar20 * 4);\n  }\n  if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar13 = (*ppSVar6)->dynsym_index_;\n    if (uVar13 != 0) {\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  iVar11 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78);\n  uVar10 = (uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3;\n                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */\n  puVar9 = (ulong *)operator_new__((ulong)uVar10);\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  cVar4 = *(char *)(*(long *)(parameters->target_ + 8) + 4);\n  iVar18 = (int)puVar9;\n  if (iVar11 == 0x20) {\n    puVar15 = puVar9 + 1;\n    uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);\n    uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);\n    if (cVar4 == '\0') {\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n    if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar15 = puVar9 + 2;\n    uVar19 = (long)local_70 - (long)pvVar7 >> 2;\n    uVar12 = (long)local_78 - (long)pvVar8 >> 2;\n    iVar11 = (int)uVar19;\n    iVar16 = (int)uVar12;\n    if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;\n    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;\n    if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }\n    if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar19 = 0;\n    do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;\nLAB_0029a5c6:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n  }\n  operator_delete(pvVar8);\nLAB_0029a5dd:\n  if (pvVar7 != (void *)0x0) {\n    operator_delete(pvVar7);\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.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start);\n  }\n  return;\n}" primitive_type (ERROR "gold::Dynobj::" identifier : : identifier : :) (function_declarator "create_elf_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  uint *puVar1;\n  pointer puVar2;\n  byte bVar3;\n  char cVar4;\n  uint uVar5;\n  pointer ppSVar6;\n  void *pvVar7;\n  void *pvVar8;\n  ulong *puVar9;\n  uint uVar10;\n  int iVar11;\n  ulong uVar12;\n  uint uVar13;\n  byte *pbVar14;\n  ulong *puVar15;\n  int iVar16;\n  uint uVar17;\n  int iVar18;\n  ulong uVar19;\n  ulong uVar20;\n  bool bVar21;\n  void *local_78;\n  void *local_70;\n  vector<unsigned_int,_std::allocator<unsigned_int>_> dynsym_hashvals;\n  \n  uVar19 = (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start >> 3;\n  iVar18 = (int)uVar19;\n  uVar19 = uVar19 & 0xffffffff;\n  puVar2 = (pointer)(uVar19 * 4);\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 (uVar19 == 0) {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = puVar2;\n  }\n  else {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);\n    uVar12 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);\n    do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);\n  }\n  if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar19 = 0;\n    do {\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n  }\n                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */\n  uVar10 = compute_bucket_count(&dynsym_hashvals,false);\n  uVar19 = (ulong)uVar10;\n  if (uVar19 == 0) {\n    local_70 = (void *)0x0;\n    pvVar7 = (void *)0x0;\n  }\n  else {\n    pvVar7 = operator_new(uVar19 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);\n    local_70 = (void *)((long)pvVar7 + uVar19 * 4);\n  }\n  if (param_2 + iVar18 == 0) {\n    local_78 = (void *)0x0;\n    pvVar8 = (void *)0x0;\n  }\n  else {\n    uVar20 = (ulong)(param_2 + iVar18);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    pvVar8 = operator_new(uVar20 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);\n    local_78 = (void *)((long)pvVar8 + uVar20 * 4);\n  }\n  if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar13 = (*ppSVar6)->dynsym_index_;\n    if (uVar13 != 0) {\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  iVar11 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78);\n  uVar10 = (uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3;\n                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */\n  puVar9 = (ulong *)operator_new__((ulong)uVar10);\n  if (parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n  }\n  cVar4 = *(char *)(*(long *)(parameters->target_ + 8) + 4);\n  iVar18 = (int)puVar9;\n  if (iVar11 == 0x20) {\n    puVar15 = puVar9 + 1;\n    uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);\n    uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);\n    if (cVar4 == '\0') {\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n    if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar15 = puVar9 + 2;\n    uVar19 = (long)local_70 - (long)pvVar7 >> 2;\n    uVar12 = (long)local_78 - (long)pvVar8 >> 2;\n    iVar11 = (int)uVar19;\n    iVar16 = (int)uVar12;\n    if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;\n    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;\n    if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }\n    if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar19 = 0;\n    do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;\nLAB_0029a5c6:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n  }\n  operator_delete(pvVar8);\nLAB_0029a5dd:\n  if (pvVar7 != (void *)0x0) {\n    operator_delete(pvVar7);\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.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start);\n  }\n  return;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "pointer puVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "pointer ppSVar6;" type_identifier identifier ;) (declaration "void *pvVar7;" primitive_type (pointer_declarator "*pvVar7" * identifier) ;) (declaration "void *pvVar8;" primitive_type (pointer_declarator "*pvVar8" * identifier) ;) (declaration "ulong *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "byte *pbVar14;" type_identifier (pointer_declarator "*pbVar14" * identifier) ;) (declaration "ulong *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "ulong uVar19;" type_identifier identifier ;) (declaration "ulong uVar20;" type_identifier identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "void *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "void *local_70;" primitive_type (pointer_declarator "*local_70" * 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 "uVar19 = (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start >> 3;" (assignment_expression "uVar19 = (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start >> 3" identifier = (binary_expression "(long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start >> 3" (binary_expression "(long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish -\n           (long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start" (cast_expression "(long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_finish" (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)) - (cast_expression "(long)(dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>).\n                 _M_impl._M_start" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (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))) >> number_literal)) ;) (expression_statement "iVar18 = (int)uVar19;" (assignment_expression "iVar18 = (int)uVar19" identifier = (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar19 = uVar19 & 0xffffffff;" (assignment_expression "uVar19 = uVar19 & 0xffffffff" identifier = (binary_expression "uVar19 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "puVar2 = (pointer)(uVar19 * 4);" (assignment_expression "puVar2 = (pointer)(uVar19 * 4)" identifier = (call_expression "(pointer)(uVar19 * 4)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(uVar19 * 4)" ( (binary_expression "uVar19 * 4" 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_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 (uVar19 == 0) {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = puVar2;\n  }\n  else {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);\n    uVar12 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);\n    do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);\n  }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = puVar2;\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" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)0x0" (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) = (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 = puVar2;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_end_of_storage = puVar2" (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) = identifier) ;) }) (else_clause "else {\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);\n    uVar12 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);\n    do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);\n  }" else (compound_statement "{\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);\n    uVar12 = 0;\n    dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);\n    do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);\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" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2);" (assignment_expression "allocator<unsigned_int>_>._M_impl._M_start\n         = (pointer)operator_new((ulong)puVar2)" (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)operator_new((ulong)puVar2)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new((ulong)puVar2)" identifier (argument_list "((ulong)puVar2)" ( (cast_expression "(ulong)puVar2" ( (type_descriptor "ulong" type_identifier) ) identifier) ))))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 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_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start);" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n    _M_finish = (pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start)" (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) = (call_expression "(pointer)((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                               _M_impl._M_start)" ( (binary_expression "(long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base<unsigned_int" (binary_expression "(long)puVar2 +\n                         (long)dynsym_hashvals.\n                               super__Vector_base" (cast_expression "(long)puVar2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (cast_expression "(long)dynsym_hashvals.\n                               super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "dynsym_hashvals.\n                               super__Vector_base" identifier . field_identifier))) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<unsigned_int>_>.\n                               _M_impl._M_start" (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) )))) ;) (do_statement "do {\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\n    } while (uVar19 != uVar12);" do (compound_statement "{\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;\n      uVar12 = uVar12 + 1;\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n           _M_finish;\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" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (expression_statement "allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12] = 0" (subscript_expression "allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar12]" (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) [ identifier ]) = number_literal) ;) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (ERROR "dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\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_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int,_std" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n      _M_end_of_storage =\n           dynsym_hashvals.super__Vector_base<unsigned_int" (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) = (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;" (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) ;) }) while (parenthesized_expression "(uVar19 != uVar12)" ( (binary_expression "uVar19 != uVar12" identifier != identifier) )) ;) }))) (if_statement "if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar19 = 0;\n    do {\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n  }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar19 = 0;\n    do {\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n  }" { (expression_statement "ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;" (assignment_expression "ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start" identifier = (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*>_>)" ( (ERROR "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "dynsyms->super__Vector_base<gold::Symbol*,_std" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*" (binary_expression "dynsyms->super__Vector_base<gold" (field_expression "dynsyms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);" do (compound_statement "{\n      pbVar14 = (byte *)ppSVar6[uVar19]->name_;\n      uVar10 = 0;\n      while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;\n      bVar21 = iVar18 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    }" { (expression_statement "pbVar14 = (byte *)ppSVar6[uVar19]->name_;" (assignment_expression "pbVar14 = (byte *)ppSVar6[uVar19]->name_" identifier = (cast_expression "(byte *)ppSVar6[uVar19]->name_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "ppSVar6[uVar19]->name_" (subscript_expression "ppSVar6[uVar19]" identifier [ identifier ]) -> field_identifier))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (while_statement "while (bVar3 = *pbVar14, bVar3 != 0) {\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }" while (parenthesized_expression "(bVar3 = *pbVar14, bVar3 != 0)" ( (comma_expression "bVar3 = *pbVar14, bVar3 != 0" (assignment_expression "bVar3 = *pbVar14" identifier = (pointer_expression "*pbVar14" * identifier)) , (binary_expression "bVar3 != 0" identifier != number_literal)) )) (compound_statement "{\n        while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }\n      }" { (while_statement "while( true ) {\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pbVar14 = pbVar14 + 1;\n          uVar10 = uVar10 * 0x10 + (uint)bVar3;\n          if ((uVar10 & 0xf0000000) == 0) break;\n          uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;\n          bVar3 = *pbVar14;\n          if (bVar3 == 0) goto LAB_0029a3ca;\n        }" { (expression_statement "pbVar14 = pbVar14 + 1;" (assignment_expression "pbVar14 = pbVar14 + 1" identifier = (binary_expression "pbVar14 + 1" identifier + number_literal)) ;) (expression_statement "uVar10 = uVar10 * 0x10 + (uint)bVar3;" (assignment_expression "uVar10 = uVar10 * 0x10 + (uint)bVar3" identifier = (binary_expression "uVar10 * 0x10 + (uint)bVar3" (binary_expression "uVar10 * 0x10" identifier * number_literal) + (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((uVar10 & 0xf0000000) == 0) break;" if (parenthesized_expression "((uVar10 & 0xf0000000) == 0)" ( (binary_expression "(uVar10 & 0xf0000000) == 0" (parenthesized_expression "(uVar10 & 0xf0000000)" ( (binary_expression "uVar10 & 0xf0000000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18;" (assignment_expression "uVar10 = uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18" identifier = (binary_expression "uVar10 & 0xfffffff ^ (uVar10 & 0xf0000000) >> 0x18" (binary_expression "uVar10 & 0xfffffff" identifier & number_literal) ^ (binary_expression "(uVar10 & 0xf0000000) >> 0x18" (parenthesized_expression "(uVar10 & 0xf0000000)" ( (binary_expression "uVar10 & 0xf0000000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "bVar3 = *pbVar14;" (assignment_expression "bVar3 = *pbVar14" identifier = (pointer_expression "*pbVar14" * identifier)) ;) (if_statement "if (bVar3 == 0) goto LAB_0029a3ca;" if (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0029a3ca;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_0029a3ca:\n      dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10;" statement_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_start[uVar19] = uVar10;" (assignment_expression "allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19] = uVar10" (subscript_expression "allocator<unsigned_int>_>._M_impl.\n      _M_start[uVar19]" (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) [ identifier ]) = identifier) ;)) (expression_statement "bVar21 = iVar18 - 1 != uVar19;" (assignment_expression "bVar21 = iVar18 - 1 != uVar19" identifier = (binary_expression "iVar18 - 1 != uVar19" (binary_expression "iVar18 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) })) comment (expression_statement "uVar10 = compute_bucket_count(&dynsym_hashvals,false);" (assignment_expression "uVar10 = compute_bucket_count(&dynsym_hashvals,false)" identifier = (call_expression "compute_bucket_count(&dynsym_hashvals,false)" identifier (argument_list "(&dynsym_hashvals,false)" ( (pointer_expression "&dynsym_hashvals" & identifier) , false )))) ;) (expression_statement "uVar19 = (ulong)uVar10;" (assignment_expression "uVar19 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar19 == 0) {\n    local_70 = (void *)0x0;\n    pvVar7 = (void *)0x0;\n  }\n  else {\n    pvVar7 = operator_new(uVar19 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);\n    local_70 = (void *)((long)pvVar7 + uVar19 * 4);\n  }" if (parenthesized_expression "(uVar19 == 0)" ( (binary_expression "uVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    local_70 = (void *)0x0;\n    pvVar7 = (void *)0x0;\n  }" { (expression_statement "local_70 = (void *)0x0;" (assignment_expression "local_70 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvVar7 = (void *)0x0;" (assignment_expression "pvVar7 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pvVar7 = operator_new(uVar19 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);\n    local_70 = (void *)((long)pvVar7 + uVar19 * 4);\n  }" else (compound_statement "{\n    pvVar7 = operator_new(uVar19 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);\n    local_70 = (void *)((long)pvVar7 + uVar19 * 4);\n  }" { (expression_statement "pvVar7 = operator_new(uVar19 * 4);" (assignment_expression "pvVar7 = operator_new(uVar19 * 4)" identifier = (call_expression "operator_new(uVar19 * 4)" identifier (argument_list "(uVar19 * 4)" ( (binary_expression "uVar19 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar19 != uVar12);" do (compound_statement "{\n      *(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    }" { (expression_statement "*(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0;" (assignment_expression "*(undefined4 *)((long)pvVar7 + uVar12 * 4) = 0" (pointer_expression "*(undefined4 *)((long)pvVar7 + uVar12 * 4)" * (cast_expression "(undefined4 *)((long)pvVar7 + uVar12 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 + uVar12 * 4)" ( (binary_expression "(long)pvVar7 + uVar12 * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar12 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar19 != uVar12)" ( (binary_expression "uVar19 != uVar12" identifier != identifier) )) ;) (expression_statement "local_70 = (void *)((long)pvVar7 + uVar19 * 4);" (assignment_expression "local_70 = (void *)((long)pvVar7 + uVar19 * 4)" identifier = (cast_expression "(void *)((long)pvVar7 + uVar19 * 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 + uVar19 * 4)" ( (binary_expression "(long)pvVar7 + uVar19 * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) )))) ;) }))) (if_statement "if (param_2 + iVar18 == 0) {\n    local_78 = (void *)0x0;\n    pvVar8 = (void *)0x0;\n  }\n  else {\n    uVar20 = (ulong)(param_2 + iVar18);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    pvVar8 = operator_new(uVar20 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);\n    local_78 = (void *)((long)pvVar8 + uVar20 * 4);\n  }" if (parenthesized_expression "(param_2 + iVar18 == 0)" ( (binary_expression "param_2 + iVar18 == 0" (binary_expression "param_2 + iVar18" identifier + identifier) == number_literal) )) (compound_statement "{\n    local_78 = (void *)0x0;\n    pvVar8 = (void *)0x0;\n  }" { (expression_statement "local_78 = (void *)0x0;" (assignment_expression "local_78 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvVar8 = (void *)0x0;" (assignment_expression "pvVar8 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    uVar20 = (ulong)(param_2 + iVar18);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    pvVar8 = operator_new(uVar20 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);\n    local_78 = (void *)((long)pvVar8 + uVar20 * 4);\n  }" else (compound_statement "{\n    uVar20 = (ulong)(param_2 + iVar18);\n                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */\n    pvVar8 = operator_new(uVar20 * 4);\n    uVar12 = 0;\n    do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);\n    local_78 = (void *)((long)pvVar8 + uVar20 * 4);\n  }" { (expression_statement "uVar20 = (ulong)(param_2 + iVar18);" (assignment_expression "uVar20 = (ulong)(param_2 + iVar18)" identifier = (call_expression "(ulong)(param_2 + iVar18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_2 + iVar18)" ( (binary_expression "param_2 + iVar18" identifier + identifier) )))) ;) comment (expression_statement "pvVar8 = operator_new(uVar20 * 4);" (assignment_expression "pvVar8 = operator_new(uVar20 * 4)" identifier = (call_expression "operator_new(uVar20 * 4)" identifier (argument_list "(uVar20 * 4)" ( (binary_expression "uVar20 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    } while (uVar20 != uVar12);" do (compound_statement "{\n      *(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;\n      uVar12 = uVar12 + 1;\n    }" { (expression_statement "*(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0;" (assignment_expression "*(undefined4 *)((long)pvVar8 + uVar12 * 4) = 0" (pointer_expression "*(undefined4 *)((long)pvVar8 + uVar12 * 4)" * (cast_expression "(undefined4 *)((long)pvVar8 + uVar12 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + uVar12 * 4)" ( (binary_expression "(long)pvVar8 + uVar12 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar12 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar20 != uVar12)" ( (binary_expression "uVar20 != uVar12" identifier != identifier) )) ;) (expression_statement "local_78 = (void *)((long)pvVar8 + uVar20 * 4);" (assignment_expression "local_78 = (void *)((long)pvVar8 + uVar20 * 4)" identifier = (cast_expression "(void *)((long)pvVar8 + uVar20 * 4)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + uVar20 * 4)" ( (binary_expression "(long)pvVar8 + uVar20 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar20 * 4" identifier * number_literal)) )))) ;) }))) (if_statement "if (iVar18 != 0) {\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar13 = (*ppSVar6)->dynsym_index_;\n    if (uVar13 != 0) {\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;\n    uVar13 = (*ppSVar6)->dynsym_index_;\n    if (uVar13 != 0) {\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" { (expression_statement "ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start;" (assignment_expression "ppSVar6 = (dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>)._M_impl.\n              _M_start" identifier = (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*>_>)" ( (ERROR "dynsyms->super__Vector_base<gold::Symbol*,_std::allocator<gold::" (comma_expression "dynsyms->super__Vector_base<gold::Symbol*,_std" (binary_expression "dynsyms->super__Vector_base<gold::Symbol*" (binary_expression "dynsyms->super__Vector_base<gold" (field_expression "dynsyms->super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol*>_>" (binary_expression "Symbol*>_" identifier * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar13 = (*ppSVar6)->dynsym_index_;" (assignment_expression "uVar13 = (*ppSVar6)->dynsym_index_" identifier = (field_expression "(*ppSVar6)->dynsym_index_" (parenthesized_expression "(*ppSVar6)" ( (pointer_expression "*ppSVar6" * identifier) )) -> field_identifier)) ;) (if_statement "if (uVar13 != 0) {\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar12 = 0;\n      do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);\n    }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      } while (uVar13 != 0);" do (compound_statement "{\n        puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);\n        *(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;\n        *puVar1 = uVar13;\n        if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;\n        uVar12 = uVar12 + 1;\n        uVar13 = ppSVar6[uVar12]->dynsym_index_;\n      }" { (expression_statement "puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4);" (assignment_expression "puVar1 = (uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4)" identifier = (cast_expression "(uint *)((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4)" ( (binary_expression "(long)pvVar7 +\n                         ((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19) * 4" (parenthesized_expression "((ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19)" ( (ERROR "(ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std::" (comma_expression "(ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int,_std" (binary_expression "(ulong)dynsym_hashvals.\n                                 super__Vector_base<unsigned_int" (cast_expression "(ulong)dynsym_hashvals.\n                                 super__Vector_base" ( (type_descriptor "ulong" type_identifier) ) (field_expression "dynsym_hashvals.\n                                 super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (binary_expression "allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12] % uVar19" (subscript_expression "allocator<unsigned_int>_>.\n                                 _M_impl._M_start[uVar12]" (field_expression "allocator<unsigned_int>_>.\n                                 _M_impl._M_start" (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) [ identifier ]) % identifier) )) * number_literal)) )))) ;) (expression_statement "*(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1;" (assignment_expression "*(uint *)((long)pvVar8 + (ulong)uVar13 * 4) = *puVar1" (pointer_expression "*(uint *)((long)pvVar8 + (ulong)uVar13 * 4)" * (cast_expression "(uint *)((long)pvVar8 + (ulong)uVar13 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + (ulong)uVar13 * 4)" ( (binary_expression "(long)pvVar8 + (ulong)uVar13 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar13 * 4" (cast_expression "(ulong)uVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = uVar13;" (assignment_expression "*puVar1 = uVar13" (pointer_expression "*puVar1" * identifier) = identifier) ;) (if_statement "if (uVar12 == iVar18 - 1) goto LAB_0029a4bf;" if (parenthesized_expression "(uVar12 == iVar18 - 1)" ( (binary_expression "uVar12 == iVar18 - 1" identifier == (binary_expression "iVar18 - 1" identifier - number_literal)) )) (goto_statement "goto LAB_0029a4bf;" goto statement_identifier ;)) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = ppSVar6[uVar12]->dynsym_index_;" (assignment_expression "uVar13 = ppSVar6[uVar12]->dynsym_index_" identifier = (field_expression "ppSVar6[uVar12]->dynsym_index_" (subscript_expression "ppSVar6[uVar12]" identifier [ identifier ]) -> field_identifier)) ;) }) while (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x19a,"dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x19a,"dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""dynsym_index"" " string_content ") ))) ;) })) (labeled_statement "LAB_0029a4bf:\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 "iVar11 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78);" (assignment_expression "iVar11 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78)" identifier = (pointer_expression "*(int *)(*(long *)(parameters->target_ + 8) + 0x78)" * (cast_expression "(int *)(*(long *)(parameters->target_ + 8) + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(parameters->target_ + 8) + 0x78)" ( (binary_expression "*(long *)(parameters->target_ + 8) + 0x78" (pointer_expression "*(long *)(parameters->target_ + 8)" * (cast_expression "(long *)(parameters->target_ + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(parameters->target_ + 8)" ( (binary_expression "parameters->target_ + 8" (field_expression "parameters->target_" identifier -> field_identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar10 = (uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3;" (assignment_expression "uVar10 = (uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3" identifier = (binary_expression "(uVar10 + param_2 + 2 + iVar18) * iVar11 >> 3" (binary_expression "(uVar10 + param_2 + 2 + iVar18) * iVar11" (parenthesized_expression "(uVar10 + param_2 + 2 + iVar18)" ( (binary_expression "uVar10 + param_2 + 2 + iVar18" (binary_expression "uVar10 + param_2 + 2" (binary_expression "uVar10 + param_2" identifier + identifier) + number_literal) + identifier) )) * identifier) >> number_literal)) ;) comment (expression_statement "puVar9 = (ulong *)operator_new__((ulong)uVar10);" (assignment_expression "puVar9 = (ulong *)operator_new__((ulong)uVar10)" identifier = (cast_expression "(ulong *)operator_new__((ulong)uVar10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new__((ulong)uVar10)" identifier (argument_list "((ulong)uVar10)" ( (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) 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 "cVar4 = *(char *)(*(long *)(parameters->target_ + 8) + 4);" (assignment_expression "cVar4 = *(char *)(*(long *)(parameters->target_ + 8) + 4)" identifier = (pointer_expression "*(char *)(*(long *)(parameters->target_ + 8) + 4)" * (cast_expression "(char *)(*(long *)(parameters->target_ + 8) + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(parameters->target_ + 8) + 4)" ( (binary_expression "*(long *)(parameters->target_ + 8) + 4" (pointer_expression "*(long *)(parameters->target_ + 8)" * (cast_expression "(long *)(parameters->target_ + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(parameters->target_ + 8)" ( (binary_expression "parameters->target_ + 8" (field_expression "parameters->target_" identifier -> field_identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar18 = (int)puVar9;" (assignment_expression "iVar18 = (int)puVar9" identifier = (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar11 == 0x20) {\n    puVar15 = puVar9 + 1;\n    uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);\n    uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);\n    if (cVar4 == '\0') {\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n    if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar15 = puVar9 + 2;\n    uVar19 = (long)local_70 - (long)pvVar7 >> 2;\n    uVar12 = (long)local_78 - (long)pvVar8 >> 2;\n    iVar11 = (int)uVar19;\n    iVar16 = (int)uVar12;\n    if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;\n    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;\n    if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }\n    if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar19 = 0;\n    do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;\nLAB_0029a5c6:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n  }" if (parenthesized_expression "(iVar11 == 0x20)" ( (binary_expression "iVar11 == 0x20" identifier == number_literal) )) (compound_statement "{\n    puVar15 = puVar9 + 1;\n    uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);\n    uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);\n    if (cVar4 == '\0') {\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n    if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;\n  }" { (expression_statement "puVar15 = puVar9 + 1;" (assignment_expression "puVar15 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2);" (assignment_expression "uVar13 = (uint)((long)local_70 - (long)pvVar7 >> 2)" identifier = (call_expression "(uint)((long)local_70 - (long)pvVar7 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((long)local_70 - (long)pvVar7 >> 2)" ( (binary_expression "(long)local_70 - (long)pvVar7 >> 2" (binary_expression "(long)local_70 - (long)pvVar7" (cast_expression "(long)local_70" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )))) ;) (expression_statement "uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2);" (assignment_expression "uVar17 = (uint)((long)local_78 - (long)pvVar8 >> 2)" identifier = (call_expression "(uint)((long)local_78 - (long)pvVar8 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((long)local_78 - (long)pvVar8 >> 2)" ( (binary_expression "(long)local_78 - (long)pvVar8 >> 2" (binary_expression "(long)local_78 - (long)pvVar8" (cast_expression "(long)local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )))) ;) (if_statement "if (cVar4 == '\0') {\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(uint *)puVar9 = uVar13;\n      *(uint *)((long)puVar9 + 4) = uVar17;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;\n    }" { (expression_statement "*(uint *)puVar9 = uVar13;" (assignment_expression "*(uint *)puVar9 = uVar13" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((long)puVar9 + 4) = uVar17;" (assignment_expression "*(uint *)((long)puVar9 + 4) = uVar17" (pointer_expression "*(uint *)((long)puVar9 + 4)" * (cast_expression "(uint *)((long)puVar9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4)" ( (binary_expression "(long)puVar9 + 4" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);" do (compound_statement "{\n          *(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        }" { (expression_statement "*(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4);" (assignment_expression "*(undefined4 *)((long)puVar9 + uVar19 * 4 + 8) =\n               *(undefined4 *)((long)pvVar7 + uVar19 * 4)" (pointer_expression "*(undefined4 *)((long)puVar9 + uVar19 * 4 + 8)" * (cast_expression "(undefined4 *)((long)puVar9 + uVar19 * 4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + uVar19 * 4 + 8)" ( (binary_expression "(long)puVar9 + uVar19 * 4 + 8" (binary_expression "(long)puVar9 + uVar19 * 4" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined4 *)((long)pvVar7 + uVar19 * 4)" * (cast_expression "(undefined4 *)((long)pvVar7 + uVar19 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 + uVar19 * 4)" ( (binary_expression "(long)pvVar7 + uVar19 * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar21 = uVar13 - 1 != uVar19;" (assignment_expression "bVar21 = uVar13 - 1 != uVar19" identifier = (binary_expression "uVar13 - 1 != uVar19" (binary_expression "uVar13 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (expression_statement "puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);" (assignment_expression "puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4)" identifier = (cast_expression "(ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4)" ( (binary_expression "(long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)(uVar13 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar13 - 1) + 1)" ( (binary_expression "(ulong)(uVar13 - 1) + 1" (call_expression "(ulong)(uVar13 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) ))) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);" do (compound_statement "{\n          *(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        }" { (expression_statement "*(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4);" (assignment_expression "*(uint *)((long)puVar15 + uVar19 * 4) = *(uint *)((long)pvVar8 + uVar19 * 4)" (pointer_expression "*(uint *)((long)puVar15 + uVar19 * 4)" * (cast_expression "(uint *)((long)puVar15 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + uVar19 * 4)" ( (binary_expression "(long)puVar15 + uVar19 * 4" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) )))) = (pointer_expression "*(uint *)((long)pvVar8 + uVar19 * 4)" * (cast_expression "(uint *)((long)pvVar8 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + uVar19 * 4)" ( (binary_expression "(long)pvVar8 + uVar19 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar21 = uVar17 - 1 != uVar19;" (assignment_expression "bVar21 = uVar17 - 1 != uVar19" identifier = (binary_expression "uVar17 - 1 != uVar19" (binary_expression "uVar17 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18)" ( (binary_expression "uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18" identifier != (binary_expression "((int)puVar15 + uVar17 * 4) - iVar18" (parenthesized_expression "((int)puVar15 + uVar17 * 4)" ( (binary_expression "(int)puVar15 + uVar17 * 4" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a817:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a817;" if (parenthesized_expression "(uVar10 != (int)puVar15 - iVar18)" ( (binary_expression "uVar10 != (int)puVar15 - iVar18" identifier != (binary_expression "(int)puVar15 - iVar18" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a817;" goto statement_identifier ;)) }) (else_clause "else {\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }" else (compound_statement "{\n      *(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n      *(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n      if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }\n      if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;\n    }" { (expression_statement "*(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;" (assignment_expression "*(uint *)puVar9 =\n           uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "*(uint *)((long)puVar9 + 4) =\n           uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (pointer_expression "*(uint *)((long)puVar9 + 4)" * (cast_expression "(uint *)((long)puVar9 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + 4)" ( (binary_expression "(long)puVar9 + 4" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 | (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar13 != 0) {\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);" do (compound_statement "{\n          uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);\n          *(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;\n          bVar21 = uVar13 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        }" { (expression_statement "uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4);" (assignment_expression "uVar5 = *(uint *)((long)pvVar7 + uVar19 * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar7 + uVar19 * 4)" * (cast_expression "(uint *)((long)pvVar7 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 + uVar19 * 4)" ( (binary_expression "(long)pvVar7 + uVar19 * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18;" (assignment_expression "*(uint *)((long)puVar9 + uVar19 * 4 + 8) =\n               uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (pointer_expression "*(uint *)((long)puVar9 + uVar19 * 4 + 8)" * (cast_expression "(uint *)((long)puVar9 + uVar19 * 4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar9 + uVar19 * 4 + 8)" ( (binary_expression "(long)puVar9 + uVar19 * 4 + 8" (binary_expression "(long)puVar9 + uVar19 * 4" (cast_expression "(long)puVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) + number_literal) )))) = (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8 | uVar5 << 0x18" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8 | (uVar5 & 0xff00) << 8" (binary_expression "uVar5 >> 0x18 | (uVar5 & 0xff0000) >> 8" (binary_expression "uVar5 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar5 & 0xff0000) >> 8" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar5 & 0xff00) << 8" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar21 = uVar13 - 1 != uVar19;" (assignment_expression "bVar21 = uVar13 - 1 != uVar19" identifier = (binary_expression "uVar13 - 1 != uVar19" (binary_expression "uVar13 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (expression_statement "puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4);" (assignment_expression "puVar15 = (ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4)" identifier = (cast_expression "(ulong *)((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4)" ( (binary_expression "(long)puVar15 + ((ulong)(uVar13 - 1) + 1) * 4" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)(uVar13 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar13 - 1) + 1)" ( (binary_expression "(ulong)(uVar13 - 1) + 1" (call_expression "(ulong)(uVar13 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar13 - 1)" ( (binary_expression "uVar13 - 1" identifier - number_literal) ))) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (uVar17 != 0) {\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);" do (compound_statement "{\n          uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);\n          *(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;\n          bVar21 = uVar17 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        }" { (expression_statement "uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4);" (assignment_expression "uVar13 = *(uint *)((long)pvVar8 + uVar19 * 4)" identifier = (pointer_expression "*(uint *)((long)pvVar8 + uVar19 * 4)" * (cast_expression "(uint *)((long)pvVar8 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + uVar19 * 4)" ( (binary_expression "(long)pvVar8 + uVar19 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18;" (assignment_expression "*(uint *)((long)puVar15 + uVar19 * 4) =\n               uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18" (pointer_expression "*(uint *)((long)puVar15 + uVar19 * 4)" * (cast_expression "(uint *)((long)puVar15 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar15 + uVar19 * 4)" ( (binary_expression "(long)puVar15 + uVar19 * 4" (cast_expression "(long)puVar15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) )))) = (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8 | uVar13 << 0x18" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8 | (uVar13 & 0xff00) << 8" (binary_expression "uVar13 >> 0x18 | (uVar13 & 0xff0000) >> 8" (binary_expression "uVar13 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar13 & 0xff0000) >> 8" (parenthesized_expression "(uVar13 & 0xff0000)" ( (binary_expression "uVar13 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar13 & 0xff00) << 8" (parenthesized_expression "(uVar13 & 0xff00)" ( (binary_expression "uVar13 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar13 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar21 = uVar17 - 1 != uVar19;" (assignment_expression "bVar21 = uVar17 - 1 != uVar19" identifier = (binary_expression "uVar17 - 1 != uVar19" (binary_expression "uVar17 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if (uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18) {\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18)" ( (binary_expression "uVar10 != ((int)puVar15 + uVar17 * 4) - iVar18" identifier != (binary_expression "((int)puVar15 + uVar17 * 4) - iVar18" (parenthesized_expression "((int)puVar15 + uVar17 * 4)" ( (binary_expression "(int)puVar15 + uVar17 * 4" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a837:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a837;" if (parenthesized_expression "(uVar10 != (int)puVar15 - iVar18)" ( (binary_expression "uVar10 != (int)puVar15 - iVar18" identifier != (binary_expression "(int)puVar15 - iVar18" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a837;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0029a7e1:\n    *pphash = (uchar *)puVar9;" statement_identifier : (expression_statement "*pphash = (uchar *)puVar9;" (assignment_expression "*pphash = (uchar *)puVar9" (pointer_expression "*pphash" * identifier) = (cast_expression "(uchar *)puVar9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*phashlen = uVar10;" (assignment_expression "*phashlen = uVar10" (pointer_expression "*phashlen" * identifier) = identifier) ;) (if_statement "if (pvVar8 == (void *)0x0) goto LAB_0029a5dd;" if (parenthesized_expression "(pvVar8 == (void *)0x0)" ( (binary_expression "pvVar8 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0029a5dd;" goto statement_identifier ;)) }) (else_clause "else {\n    if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar15 = puVar9 + 2;\n    uVar19 = (long)local_70 - (long)pvVar7 >> 2;\n    uVar12 = (long)local_78 - (long)pvVar8 >> 2;\n    iVar11 = (int)uVar19;\n    iVar16 = (int)uVar12;\n    if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;\n    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;\n    if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }\n    if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar19 = 0;\n    do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;\nLAB_0029a5c6:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n  }" else (compound_statement "{\n    if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar15 = puVar9 + 2;\n    uVar19 = (long)local_70 - (long)pvVar7 >> 2;\n    uVar12 = (long)local_78 - (long)pvVar8 >> 2;\n    iVar11 = (int)uVar19;\n    iVar16 = (int)uVar12;\n    if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;\n    puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;\n    if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }\n    if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar19 = 0;\n    do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);\n    if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;\nLAB_0029a5c6:\n    *pphash = (uchar *)puVar9;\n    *phashlen = uVar10;\n  }" { (if_statement "if (iVar11 != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" if (parenthesized_expression "(iVar11 != 0x40)" ( (binary_expression "iVar11 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""create_elf_hash_table"" " string_content ") ))) ;) })) (expression_statement "puVar15 = puVar9 + 2;" (assignment_expression "puVar15 = puVar9 + 2" identifier = (binary_expression "puVar9 + 2" identifier + number_literal)) ;) (expression_statement "uVar19 = (long)local_70 - (long)pvVar7 >> 2;" (assignment_expression "uVar19 = (long)local_70 - (long)pvVar7 >> 2" identifier = (binary_expression "(long)local_70 - (long)pvVar7 >> 2" (binary_expression "(long)local_70 - (long)pvVar7" (cast_expression "(long)local_70" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (expression_statement "uVar12 = (long)local_78 - (long)pvVar8 >> 2;" (assignment_expression "uVar12 = (long)local_78 - (long)pvVar8 >> 2" identifier = (binary_expression "(long)local_78 - (long)pvVar8 >> 2" (binary_expression "(long)local_78 - (long)pvVar8" (cast_expression "(long)local_78" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (expression_statement "iVar11 = (int)uVar19;" (assignment_expression "iVar11 = (int)uVar19" identifier = (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar16 = (int)uVar12;" (assignment_expression "iVar16 = (int)uVar12" identifier = (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (cVar4 == '\0') {\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *puVar9 = uVar19 & 0xffffffff;\n      puVar9[1] = uVar12 & 0xffffffff;\n      if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }\n      if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" { (expression_statement "*puVar9 = uVar19 & 0xffffffff;" (assignment_expression "*puVar9 = uVar19 & 0xffffffff" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar19 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "puVar9[1] = uVar12 & 0xffffffff;" (assignment_expression "puVar9[1] = uVar12 & 0xffffffff" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (binary_expression "uVar12 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (iVar11 != 0) {\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);" do (compound_statement "{\n          puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n          bVar21 = iVar11 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        }" { (expression_statement "puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);" (assignment_expression "puVar9[uVar19 + 2] = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4)" (subscript_expression "puVar9[uVar19 + 2]" identifier [ (binary_expression "uVar19 + 2" identifier + number_literal) ]) = (binary_expression "(ulong)*(uint *)((long)pvVar7 + uVar19 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)pvVar7 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 + uVar19 * 4)" ( (binary_expression "(long)pvVar7 + uVar19 * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar21 = iVar11 - 1 != uVar19;" (assignment_expression "bVar21 = iVar11 - 1 != uVar19" identifier = (binary_expression "iVar11 - 1 != uVar19" (binary_expression "iVar11 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (expression_statement "puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;" (assignment_expression "puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1" identifier = (binary_expression "puVar15 + (ulong)(iVar11 - 1) + 1" (binary_expression "puVar15 + (ulong)(iVar11 - 1)" identifier + (call_expression "(ulong)(iVar11 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar11 - 1)" ( (binary_expression "iVar11 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (if_statement "if (iVar16 != 0) {\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar19 = 0;\n        do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);\n        if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        } while (bVar21);" do (compound_statement "{\n          puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n          bVar21 = iVar16 - 1 != uVar19;\n          uVar19 = uVar19 + 1;\n        }" { (expression_statement "puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);" (assignment_expression "puVar15[uVar19] = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4)" (subscript_expression "puVar15[uVar19]" identifier [ identifier ]) = (binary_expression "(ulong)*(uint *)((long)pvVar8 + uVar19 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)pvVar8 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + uVar19 * 4)" ( (binary_expression "(long)pvVar8 + uVar19 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar21 = iVar16 - 1 != uVar19;" (assignment_expression "bVar21 = iVar16 - 1 != uVar19" identifier = (binary_expression "iVar16 - 1 != uVar19" (binary_expression "iVar16 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) {\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18)" ( (binary_expression "uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18" identifier != (binary_expression "((int)puVar15 + iVar16 * 8) - iVar18" (parenthesized_expression "((int)puVar15 + iVar16 * 8)" ( (binary_expression "(int)puVar15 + iVar16 * 8" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar16 * 8" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a673:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar10 != (int)puVar15 - iVar18) goto LAB_0029a673;" if (parenthesized_expression "(uVar10 != (int)puVar15 - iVar18)" ( (binary_expression "uVar10 != (int)puVar15 - iVar18" identifier != (binary_expression "(int)puVar15 - iVar18" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a673;" goto statement_identifier ;)) (goto_statement "goto LAB_0029a7e1;" goto statement_identifier ;) })) (expression_statement "*puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38;" (assignment_expression "*puVar9 = (uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38" (pointer_expression "*puVar9" * identifier) = (binary_expression "(uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28 |\n              (uVar19 & 0xffffffff) << 0x38" (binary_expression "(uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18 | (uVar19 & 0xff00) << 0x28" (binary_expression "(uVar19 & 0xff000000) << 8 | (uVar19 & 0xff0000) << 0x18" (binary_expression "(uVar19 & 0xff000000) << 8" (parenthesized_expression "(uVar19 & 0xff000000)" ( (binary_expression "uVar19 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar19 & 0xff0000) << 0x18" (parenthesized_expression "(uVar19 & 0xff0000)" ( (binary_expression "uVar19 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar19 & 0xff00) << 0x28" (parenthesized_expression "(uVar19 & 0xff00)" ( (binary_expression "uVar19 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar19 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar19 & 0xffffffff)" ( (binary_expression "uVar19 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) (expression_statement "puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38;" (assignment_expression "puVar9[1] = (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38" (subscript_expression "puVar9[1]" identifier [ number_literal ]) = (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28\n                | (uVar12 & 0xffffffff) << 0x38" (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28" (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar12 & 0xffffffff)" ( (binary_expression "uVar12 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) (if_statement "if (iVar11 != 0) {\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }" if (parenthesized_expression "(iVar11 != 0)" ( (binary_expression "iVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar19 = 0;\n      do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);\n      puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;\n    }" { (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      } while (bVar21);" do (compound_statement "{\n        uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);\n        puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;\n        bVar21 = uVar19 != iVar11 - 1;\n        uVar19 = uVar19 + 1;\n      }" { (expression_statement "uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4);" (assignment_expression "uVar12 = (ulong)*(uint *)((long)pvVar7 + uVar19 * 4)" identifier = (binary_expression "(ulong)*(uint *)((long)pvVar7 + uVar19 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)pvVar7 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7 + uVar19 * 4)" ( (binary_expression "(long)pvVar7 + uVar19 * 4" (cast_expression "(long)pvVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38;" (assignment_expression "puVar9[uVar19 + 2] =\n             (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38" (subscript_expression "puVar9[uVar19 + 2]" identifier [ (binary_expression "uVar19 + 2" identifier + number_literal) ]) = (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n             uVar12 << 0x38" (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28" (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar21 = uVar19 != iVar11 - 1;" (assignment_expression "bVar21 = uVar19 != iVar11 - 1" identifier = (binary_expression "uVar19 != iVar11 - 1" identifier != (binary_expression "iVar11 - 1" identifier - number_literal))) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (expression_statement "puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1;" (assignment_expression "puVar15 = puVar15 + (ulong)(iVar11 - 1) + 1" identifier = (binary_expression "puVar15 + (ulong)(iVar11 - 1) + 1" (binary_expression "puVar15 + (ulong)(iVar11 - 1)" identifier + (call_expression "(ulong)(iVar11 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar11 - 1)" ( (binary_expression "iVar11 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (if_statement "if (iVar16 == 0) {\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n      if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" { (if_statement "if (uVar10 != (int)puVar15 - iVar18) {\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" if (parenthesized_expression "(uVar10 != (int)puVar15 - iVar18)" ( (binary_expression "uVar10 != (int)puVar15 - iVar18" identifier != (binary_expression "(int)puVar15 - iVar18" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\nLAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" { (labeled_statement "LAB_0029a880:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "do_gold_unreachable("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a7e1;" goto statement_identifier ;) })) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    } while (bVar21);" do (compound_statement "{\n      uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);\n      puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;\n      bVar21 = iVar16 - 1 != uVar19;\n      uVar19 = uVar19 + 1;\n    }" { (expression_statement "uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4);" (assignment_expression "uVar12 = (ulong)*(uint *)((long)pvVar8 + uVar19 * 4)" identifier = (binary_expression "(ulong)*(uint *)((long)pvVar8 + uVar19 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)((long)pvVar8 + uVar19 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar8 + uVar19 * 4)" ( (binary_expression "(long)pvVar8 + uVar19 * 4" (cast_expression "(long)pvVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar19 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38;" (assignment_expression "puVar15[uVar19] =\n           (uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38" (subscript_expression "puVar15[uVar19]" identifier [ identifier ]) = (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28 |\n           uVar12 << 0x38" (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18 | (uVar12 & 0xff00) << 0x28" (binary_expression "(uVar12 & 0xff000000) << 8 | (uVar12 & 0xff0000) << 0x18" (binary_expression "(uVar12 & 0xff000000) << 8" (parenthesized_expression "(uVar12 & 0xff000000)" ( (binary_expression "uVar12 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar12 & 0xff0000) << 0x18" (parenthesized_expression "(uVar12 & 0xff0000)" ( (binary_expression "uVar12 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar12 & 0xff00) << 0x28" (parenthesized_expression "(uVar12 & 0xff00)" ( (binary_expression "uVar12 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar12 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar21 = iVar16 - 1 != uVar19;" (assignment_expression "bVar21 = iVar16 - 1 != uVar19" identifier = (binary_expression "iVar16 - 1 != uVar19" (binary_expression "iVar16 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar21)" ( identifier )) ;) (if_statement "if (uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18) goto LAB_0029a880;" if (parenthesized_expression "(uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18)" ( (binary_expression "uVar10 != ((int)puVar15 + iVar16 * 8) - iVar18" identifier != (binary_expression "((int)puVar15 + iVar16 * 8) - iVar18" (parenthesized_expression "((int)puVar15 + iVar16 * 8)" ( (binary_expression "(int)puVar15 + iVar16 * 8" (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar16 * 8" identifier * number_literal)) )) - identifier)) )) (goto_statement "goto LAB_0029a880;" goto statement_identifier ;)) (labeled_statement "LAB_0029a5c6:\n    *pphash = (uchar *)puVar9;" statement_identifier : (expression_statement "*pphash = (uchar *)puVar9;" (assignment_expression "*pphash = (uchar *)puVar9" (pointer_expression "*pphash" * identifier) = (cast_expression "(uchar *)puVar9" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "*phashlen = uVar10;" (assignment_expression "*phashlen = uVar10" (pointer_expression "*phashlen" * identifier) = identifier) ;) }))) (expression_statement "operator_delete(pvVar8);" (call_expression "operator_delete(pvVar8)" identifier (argument_list "(pvVar8)" ( identifier ))) ;) (labeled_statement "LAB_0029a5dd:\n  if (pvVar7 != (void *)0x0) {\n    operator_delete(pvVar7);\n  }" statement_identifier : (if_statement "if (pvVar7 != (void *)0x0) {\n    operator_delete(pvVar7);\n  }" if (parenthesized_expression "(pvVar7 != (void *)0x0)" ( (binary_expression "pvVar7 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    operator_delete(pvVar7);\n  }" { (expression_statement "operator_delete(pvVar7);" (call_expression "operator_delete(pvVar7)" identifier (argument_list "(pvVar7)" ( 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.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._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.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start);\n  }" { (expression_statement "operator_delete(dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start);" (call_expression "operator_delete(dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start)" identifier (argument_list "(dynsym_hashvals.super__Vector_base<unsigned_int,_std::allocator<unsigned_int>_>.\n                    _M_impl._M_start)" ( (binary_expression "dynsym_hashvals.super__Vector_base<unsigned_int" (field_expression "dynsym_hashvals.super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<unsigned_int>_>.\n                    _M_impl._M_start" (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) ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    \n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    \n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}\n\n" (function_definition "void FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    \n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    \n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)" identifier (parameter_list "(long *param_1,int param_2,long *param_3,uint *param_4)" ( (parameter_declaration "long *param_1" (sized_type_specifier "long" long) (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) ))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    \n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    \n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "ulong *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_50;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_48;" (sized_type_specifier "long" long) identifier ;) (expression_statement "uVar17 = param_1[1] - *param_1 >> 3;" (assignment_expression "uVar17 = param_1[1] - *param_1 >> 3" identifier = (binary_expression "param_1[1] - *param_1 >> 3" (binary_expression "param_1[1] - *param_1" (subscript_expression "param_1[1]" identifier [ number_literal ]) - (pointer_expression "*param_1" * identifier)) >> number_literal)) ;) (expression_statement "iVar16 = (int)uVar17;" (assignment_expression "iVar16 = (int)uVar17" identifier = (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar17 = uVar17 & 0xffffffff;" (assignment_expression "uVar17 = uVar17 & 0xffffffff" identifier = (binary_expression "uVar17 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (if_statement "if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_48 = uVar17 * 4;" (assignment_expression "local_48 = uVar17 * 4" identifier = (binary_expression "uVar17 * 4" identifier * number_literal)) ;) }) (else_clause "else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" else (compound_statement "{\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" { (expression_statement "local_58 = FUN_002d9490();" (assignment_expression "local_58 = FUN_002d9490()" identifier = (call_expression "FUN_002d9490()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "local_50 = uVar17 * 4 + local_58;" (assignment_expression "local_50 = uVar17 * 4 + local_58" identifier = (binary_expression "uVar17 * 4 + local_58" (binary_expression "uVar17 * 4" identifier * number_literal) + identifier)) ;) (do_statement "do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);" do (compound_statement "{\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    }" { (expression_statement "*(undefined4 *)(local_58 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(local_58 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(local_58 + uVar10 * 4)" * (cast_expression "(undefined4 *)(local_58 + uVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + uVar10 * 4)" ( (binary_expression "local_58 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" identifier = identifier) ;) }) while (parenthesized_expression "(uVar17 != uVar10)" ( (binary_expression "uVar17 != uVar10" identifier != identifier) )) ;) }))) (if_statement "if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }" { (expression_statement "lVar5 = *param_1;" (assignment_expression "lVar5 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);" do (compound_statement "{\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    }" { (expression_statement "pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);" (assignment_expression "pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8)" identifier = (cast_expression "(byte *)**(undefined8 **)(lVar5 + uVar17 * 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined8 **)(lVar5 + uVar17 * 8)" * (pointer_expression "*(undefined8 **)(lVar5 + uVar17 * 8)" * (cast_expression "(undefined8 **)(lVar5 + uVar17 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar5 + uVar17 * 8)" ( (binary_expression "lVar5 + uVar17 * 8" identifier + (binary_expression "uVar17 * 8" identifier * number_literal)) ))))))) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (while_statement "while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }" while (parenthesized_expression "(bVar2 = *pbVar12, bVar2 != 0)" ( (comma_expression "bVar2 = *pbVar12, bVar2 != 0" (assignment_expression "bVar2 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) , (binary_expression "bVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }" { (while_statement "while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }" { (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" identifier = (binary_expression "pbVar12 + 1" identifier + number_literal)) ;) (expression_statement "uVar8 = uVar8 * 0x10 + (uint)bVar2;" (assignment_expression "uVar8 = uVar8 * 0x10 + (uint)bVar2" identifier = (binary_expression "uVar8 * 0x10 + (uint)bVar2" (binary_expression "uVar8 * 0x10" identifier * number_literal) + (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((uVar8 & 0xf0000000) == 0) break;" if (parenthesized_expression "((uVar8 & 0xf0000000) == 0)" ( (binary_expression "(uVar8 & 0xf0000000) == 0" (parenthesized_expression "(uVar8 & 0xf0000000)" ( (binary_expression "uVar8 & 0xf0000000" identifier & number_literal) )) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;" (assignment_expression "uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18" identifier = (binary_expression "uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18" (binary_expression "uVar8 & 0xfffffff" identifier & number_literal) ^ (binary_expression "(uVar8 & 0xf0000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xf0000000)" ( (binary_expression "uVar8 & 0xf0000000" identifier & number_literal) )) >> number_literal))) ;) (expression_statement "bVar2 = *pbVar12;" (assignment_expression "bVar2 = *pbVar12" identifier = (pointer_expression "*pbVar12" * identifier)) ;) (if_statement "if (bVar2 == 0) goto LAB_0029a3ca;" if (parenthesized_expression "(bVar2 == 0)" ( (binary_expression "bVar2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0029a3ca;" goto statement_identifier ;)) })) })) (labeled_statement "LAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;" statement_identifier : (expression_statement "*(uint *)(local_58 + uVar17 * 4) = uVar8;" (assignment_expression "*(uint *)(local_58 + uVar17 * 4) = uVar8" (pointer_expression "*(uint *)(local_58 + uVar17 * 4)" * (cast_expression "(uint *)(local_58 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + uVar17 * 4)" ( (binary_expression "local_58 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = identifier) ;)) (expression_statement "bVar19 = iVar16 - 1 != uVar17;" (assignment_expression "bVar19 = iVar16 - 1 != uVar17" identifier = (binary_expression "iVar16 - 1 != uVar17" (binary_expression "iVar16 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) })) (expression_statement "uVar8 = FUN_0029a200(&local_58,0);" (assignment_expression "uVar8 = FUN_0029a200(&local_58,0)" identifier = (call_expression "FUN_0029a200(&local_58,0)" identifier (argument_list "(&local_58,0)" ( (pointer_expression "&local_58" & identifier) , number_literal )))) ;) (expression_statement "uVar17 = (ulong)uVar8;" (assignment_expression "uVar17 = (ulong)uVar8" identifier = (cast_expression "(ulong)uVar8" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" if (parenthesized_expression "(uVar17 == 0)" ( (binary_expression "uVar17 == 0" identifier == number_literal) )) (compound_statement "{\n    local_70 = 0;\n    lVar5 = 0;\n  }" { (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" identifier = number_literal) ;) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" else (compound_statement "{\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" { (expression_statement "lVar5 = FUN_002d9490(uVar17 * 4);" (assignment_expression "lVar5 = FUN_002d9490(uVar17 * 4)" identifier = (call_expression "FUN_002d9490(uVar17 * 4)" identifier (argument_list "(uVar17 * 4)" ( (binary_expression "uVar17 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);" do (compound_statement "{\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    }" { (expression_statement "*(undefined4 *)(lVar5 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar5 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar5 + uVar10 * 4)" * (cast_expression "(undefined4 *)(lVar5 + uVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar10 * 4)" ( (binary_expression "lVar5 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar17 != uVar10)" ( (binary_expression "uVar17 != uVar10" identifier != identifier) )) ;) (expression_statement "local_70 = lVar5 + uVar17 * 4;" (assignment_expression "local_70 = lVar5 + uVar17 * 4" identifier = (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal))) ;) }))) (if_statement "if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" if (parenthesized_expression "(param_2 + iVar16 == 0)" ( (binary_expression "param_2 + iVar16 == 0" (binary_expression "param_2 + iVar16" identifier + identifier) == number_literal) )) (compound_statement "{\n    local_78 = 0;\n    lVar6 = 0;\n  }" { (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" identifier = number_literal) ;) (expression_statement "lVar6 = 0;" (assignment_expression "lVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" else (compound_statement "{\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" { (expression_statement "uVar18 = (ulong)(uint)(param_2 + iVar16);" (assignment_expression "uVar18 = (ulong)(uint)(param_2 + iVar16)" identifier = (call_expression "(ulong)(uint)(param_2 + iVar16)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uint)" ( identifier ))) (argument_list "(param_2 + iVar16)" ( (binary_expression "param_2 + iVar16" identifier + identifier) )))) ;) (expression_statement "lVar6 = FUN_002d9490(uVar18 * 4);" (assignment_expression "lVar6 = FUN_002d9490(uVar18 * 4)" identifier = (call_expression "FUN_002d9490(uVar18 * 4)" identifier (argument_list "(uVar18 * 4)" ( (binary_expression "uVar18 * 4" identifier * number_literal) )))) ;) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);" do (compound_statement "{\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    }" { (expression_statement "*(undefined4 *)(lVar6 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar6 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar6 + uVar10 * 4)" * (cast_expression "(undefined4 *)(lVar6 + uVar10 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar10 * 4)" ( (binary_expression "lVar6 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) = number_literal) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar18 != uVar10)" ( (binary_expression "uVar18 != uVar10" identifier != identifier) )) ;) (expression_statement "local_78 = lVar6 + uVar18 * 4;" (assignment_expression "local_78 = lVar6 + uVar18 * 4" identifier = (binary_expression "lVar6 + uVar18 * 4" identifier + (binary_expression "uVar18 * 4" identifier * number_literal))) ;) }))) (if_statement "if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" { (expression_statement "param_1 = (long *)*param_1;" (assignment_expression "param_1 = (long *)*param_1" identifier = (cast_expression "(long *)*param_1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "uVar11 = *(uint *)(*param_1 + 0x20);" (assignment_expression "uVar11 = *(uint *)(*param_1 + 0x20)" identifier = (pointer_expression "*(uint *)(*param_1 + 0x20)" * (cast_expression "(uint *)(*param_1 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_1 + 0x20)" ( (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" * identifier) + number_literal) ))))) ;) (if_statement "if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);" do (compound_statement "{\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      }" { (expression_statement "puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);" (assignment_expression "puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" identifier = (cast_expression "(uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" ( (binary_expression "lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4" identifier + (binary_expression "((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4" (parenthesized_expression "((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17)" ( (binary_expression "(ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17" (binary_expression "(ulong)*(uint *)(local_58 + uVar10 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(local_58 + uVar10 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_58 + uVar10 * 4)" ( (binary_expression "local_58 + uVar10 * 4" identifier + (binary_expression "uVar10 * 4" identifier * number_literal)) )))) % identifier) )) * number_literal)) )))) ;) (expression_statement "*(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;" (assignment_expression "*(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1" (pointer_expression "*(uint *)(lVar6 + (ulong)uVar11 * 4)" * (cast_expression "(uint *)(lVar6 + (ulong)uVar11 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + (ulong)uVar11 * 4)" ( (binary_expression "lVar6 + (ulong)uVar11 * 4" identifier + (binary_expression "(ulong)uVar11 * 4" (cast_expression "(ulong)uVar11" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "*puVar1 = uVar11;" (assignment_expression "*puVar1 = uVar11" (pointer_expression "*puVar1" * identifier) = identifier) ;) (if_statement "if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;" if (parenthesized_expression "(uVar10 == iVar16 - 1)" ( (binary_expression "uVar10 == iVar16 - 1" identifier == (binary_expression "iVar16 - 1" identifier - number_literal)) )) (goto_statement "goto LAB_0029a4bf;" goto statement_identifier ;)) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = *(uint *)(param_1[uVar10] + 0x20);" (assignment_expression "uVar11 = *(uint *)(param_1[uVar10] + 0x20)" identifier = (pointer_expression "*(uint *)(param_1[uVar10] + 0x20)" * (cast_expression "(uint *)(param_1[uVar10] + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[uVar10] + 0x20)" ( (binary_expression "param_1[uVar10] + 0x20" (subscript_expression "param_1[uVar10]" identifier [ identifier ]) + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) ;) })) (expression_statement "FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");" (call_expression "FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index")" identifier (argument_list "("../../gold/symtab.h",0x19a,"dynsym_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""dynsym_index"" " string_content ") ))) ;) })) (labeled_statement "LAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" statement_identifier : (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../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 "iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);" (assignment_expression "iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" identifier = (pointer_expression "*(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" * (cast_expression "(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;" (assignment_expression "uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3" identifier = (binary_expression "(uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3" (binary_expression "(uVar8 + param_2 + 2 + iVar16) * iVar9" (parenthesized_expression "(uVar8 + param_2 + 2 + iVar16)" ( (binary_expression "uVar8 + param_2 + 2 + iVar16" (binary_expression "uVar8 + param_2 + 2" (binary_expression "uVar8 + param_2" identifier + identifier) + number_literal) + identifier) )) * identifier) >> number_literal)) ;) (expression_statement "puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);" (assignment_expression "puVar7 = (ulong *)thunk_FUN_002d9490(uVar8)" identifier = (cast_expression "(ulong *)thunk_FUN_002d9490(uVar8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_002d9490(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../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 "cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);" (assignment_expression "cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" identifier = (pointer_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" * (cast_expression "(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" ( (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" * (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x18" identifier + number_literal) )))) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar16 = (int)puVar7;" (assignment_expression "iVar16 = (int)puVar7" identifier = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" if (parenthesized_expression "(iVar9 == 0x20)" ( (binary_expression "iVar9 == 0x20" identifier == number_literal) )) (compound_statement "{\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }" { (expression_statement "puVar13 = puVar7 + 1;" (assignment_expression "puVar13 = puVar7 + 1" identifier = (binary_expression "puVar7 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = (uint)(local_70 - lVar5 >> 2);" (assignment_expression "uVar11 = (uint)(local_70 - lVar5 >> 2)" identifier = (call_expression "(uint)(local_70 - lVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_70 - lVar5 >> 2)" ( (binary_expression "local_70 - lVar5 >> 2" (binary_expression "local_70 - lVar5" identifier - identifier) >> number_literal) )))) ;) (expression_statement "uVar15 = (uint)(local_78 - lVar6 >> 2);" (assignment_expression "uVar15 = (uint)(local_78 - lVar6 >> 2)" identifier = (call_expression "(uint)(local_78 - lVar6 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 - lVar6 >> 2)" ( (binary_expression "local_78 - lVar6 >> 2" (binary_expression "local_78 - lVar6" identifier - identifier) >> number_literal) )))) ;) (if_statement "if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }" { (expression_statement "*(uint *)puVar7 = uVar11;" (assignment_expression "*(uint *)puVar7 = uVar11" (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)((long)puVar7 + 4) = uVar15;" (assignment_expression "*(uint *)((long)puVar7 + 4) = uVar15" (pointer_expression "*(uint *)((long)puVar7 + 4)" * (cast_expression "(uint *)((long)puVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 4)" ( (binary_expression "(long)puVar7 + 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);" (assignment_expression "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4)" (pointer_expression "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8)" * (cast_expression "(undefined4 *)((long)puVar7 + uVar17 * 4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + uVar17 * 4 + 8)" ( (binary_expression "(long)puVar7 + uVar17 * 4 + 8" (binary_expression "(long)puVar7 + uVar17 * 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) + number_literal) )))) = (pointer_expression "*(undefined4 *)(lVar5 + uVar17 * 4)" * (cast_expression "(undefined4 *)(lVar5 + uVar17 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = uVar11 - 1 != uVar17;" (assignment_expression "bVar19 = uVar11 - 1 != uVar17" identifier = (binary_expression "uVar11 - 1 != uVar17" (binary_expression "uVar11 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);" (assignment_expression "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" identifier = (cast_expression "(ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (binary_expression "(long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)(uVar11 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar11 - 1) + 1)" ( (binary_expression "(ulong)(uVar11 - 1) + 1" (call_expression "(ulong)(uVar11 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 - 1)" ( (binary_expression "uVar11 - 1" identifier - number_literal) ))) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "*(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "*(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4)" (pointer_expression "*(uint *)((long)puVar13 + uVar17 * 4)" * (cast_expression "(uint *)((long)puVar13 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + uVar17 * 4)" ( (binary_expression "(long)puVar13 + uVar17 * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = (pointer_expression "*(uint *)(lVar6 + uVar17 * 4)" * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = uVar15 - 1 != uVar17;" (assignment_expression "bVar19 = uVar15 - 1 != uVar17" identifier = (binary_expression "uVar15 - 1 != uVar17" (binary_expression "uVar15 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16" identifier != (binary_expression "((int)puVar13 + uVar15 * 4) - iVar16" (parenthesized_expression "((int)puVar13 + uVar15 * 4)" ( (binary_expression "(int)puVar13 + uVar15 * 4" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar15 * 4" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a817;" goto statement_identifier ;)) }) (else_clause "else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" else (compound_statement "{\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" { (expression_statement "*(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*(uint *)puVar7" * (cast_expression "(uint *)puVar7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "*(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (pointer_expression "*(uint *)((long)puVar7 + 4)" * (cast_expression "(uint *)((long)puVar7 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + 4)" ( (binary_expression "(long)puVar7 + 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" ( (binary_expression "uVar15 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" ( (binary_expression "uVar15 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar15 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "uVar4 = *(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "uVar4 = *(uint *)(lVar5 + uVar17 * 4)" identifier = (pointer_expression "*(uint *)(lVar5 + uVar17 * 4)" * (cast_expression "(uint *)(lVar5 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)((long)puVar7 + uVar17 * 4 + 8)" * (cast_expression "(uint *)((long)puVar7 + uVar17 * 4 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar7 + uVar17 * 4 + 8)" ( (binary_expression "(long)puVar7 + uVar17 * 4 + 8" (binary_expression "(long)puVar7 + uVar17 * 4" (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) + number_literal) )))) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar19 = uVar11 - 1 != uVar17;" (assignment_expression "bVar19 = uVar11 - 1 != uVar17" identifier = (binary_expression "uVar11 - 1 != uVar17" (binary_expression "uVar11 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);" (assignment_expression "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" identifier = (cast_expression "(ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" ( (binary_expression "(long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "((ulong)(uVar11 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar11 - 1) + 1)" ( (binary_expression "(ulong)(uVar11 - 1) + 1" (call_expression "(ulong)(uVar11 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar11 - 1)" ( (binary_expression "uVar11 - 1" identifier - number_literal) ))) + number_literal) )) * number_literal)) )))) ;) })) (if_statement "if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "uVar11 = *(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "uVar11 = *(uint *)(lVar6 + uVar17 * 4)" identifier = (pointer_expression "*(uint *)(lVar6 + uVar17 * 4)" * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "*(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*(uint *)((long)puVar13 + uVar17 * 4)" * (cast_expression "(uint *)((long)puVar13 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar13 + uVar17 * 4)" ( (binary_expression "(long)puVar13 + uVar17 * 4" (cast_expression "(long)puVar13" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar19 = uVar15 - 1 != uVar17;" (assignment_expression "bVar19 = uVar15 - 1 != uVar17" identifier = (binary_expression "uVar15 - 1 != uVar17" (binary_expression "uVar15 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16" identifier != (binary_expression "((int)puVar13 + uVar15 * 4) - iVar16" (parenthesized_expression "((int)puVar13 + uVar15 * 4)" ( (binary_expression "(int)puVar13 + uVar15 * 4" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar15 * 4" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a837;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0029a7e1:\n    *param_3 = (long)puVar7;" statement_identifier : (expression_statement "*param_3 = (long)puVar7;" (assignment_expression "*param_3 = (long)puVar7" (pointer_expression "*param_3" * identifier) = (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (expression_statement "*param_4 = uVar8;" (assignment_expression "*param_4 = uVar8" (pointer_expression "*param_4" * identifier) = identifier) ;) (if_statement "if (lVar6 == 0) goto LAB_0029a5dd;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0029a5dd;" goto statement_identifier ;)) }) (else_clause "else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" else (compound_statement "{\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" { (if_statement "if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" if (parenthesized_expression "(iVar9 != 0x40)" ( (binary_expression "iVar9 != 0x40" identifier != number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" { (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""create_elf_hash_table"" " string_content ") ))) ;) })) (expression_statement "puVar13 = puVar7 + 2;" (assignment_expression "puVar13 = puVar7 + 2" identifier = (binary_expression "puVar7 + 2" identifier + number_literal)) ;) (expression_statement "uVar17 = local_70 - lVar5 >> 2;" (assignment_expression "uVar17 = local_70 - lVar5 >> 2" identifier = (binary_expression "local_70 - lVar5 >> 2" (binary_expression "local_70 - lVar5" identifier - identifier) >> number_literal)) ;) (expression_statement "uVar10 = local_78 - lVar6 >> 2;" (assignment_expression "uVar10 = local_78 - lVar6 >> 2" identifier = (binary_expression "local_78 - lVar6 >> 2" (binary_expression "local_78 - lVar6" identifier - identifier) >> number_literal)) ;) (expression_statement "iVar9 = (int)uVar17;" (assignment_expression "iVar9 = (int)uVar17" identifier = (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar14 = (int)uVar10;" (assignment_expression "iVar14 = (int)uVar10" identifier = (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" if (parenthesized_expression "(cVar3 == '\0')" ( (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" { (expression_statement "*puVar7 = uVar17 & 0xffffffff;" (assignment_expression "*puVar7 = uVar17 & 0xffffffff" (pointer_expression "*puVar7" * identifier) = (binary_expression "uVar17 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "puVar7[1] = uVar10 & 0xffffffff;" (assignment_expression "puVar7[1] = uVar10 & 0xffffffff" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (binary_expression "uVar10 & 0xffffffff" identifier & number_literal)) ;) (if_statement "if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4)" (subscript_expression "puVar7[uVar17 + 2]" identifier [ (binary_expression "uVar17 + 2" identifier + number_literal) ]) = (binary_expression "(ulong)*(uint *)(lVar5 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar5 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = iVar9 - 1 != uVar17;" (assignment_expression "bVar19 = iVar9 - 1 != uVar17" identifier = (binary_expression "iVar9 - 1 != uVar17" (binary_expression "iVar9 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;" (assignment_expression "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1" identifier = (binary_expression "puVar13 + (ulong)(iVar9 - 1) + 1" (binary_expression "puVar13 + (ulong)(iVar9 - 1)" identifier + (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 1)" ( (binary_expression "iVar9 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (if_statement "if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" do (compound_statement "{\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" { (expression_statement "puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4)" (subscript_expression "puVar13[uVar17]" identifier [ identifier ]) = (binary_expression "(ulong)*(uint *)(lVar6 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "bVar19 = iVar14 - 1 != uVar17;" (assignment_expression "bVar19 = iVar14 - 1 != uVar17" identifier = (binary_expression "iVar14 - 1 != uVar17" (binary_expression "iVar14 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" if (parenthesized_expression "(uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16" identifier != (binary_expression "((int)puVar13 + iVar14 * 8) - iVar16" (parenthesized_expression "((int)puVar13 + iVar14 * 8)" ( (binary_expression "(int)puVar13 + iVar14 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar14 * 8" identifier * number_literal)) )) - identifier)) )) (compound_statement "{\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" { (labeled_statement "LAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a5c6;" goto statement_identifier ;) })) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (goto_statement "goto LAB_0029a673;" goto statement_identifier ;)) (goto_statement "goto LAB_0029a7e1;" goto statement_identifier ;) })) (expression_statement "*puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;" (assignment_expression "*puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38" (pointer_expression "*puVar7" * identifier) = (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38" (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28" (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18" (binary_expression "(uVar17 & 0xff000000) << 8" (parenthesized_expression "(uVar17 & 0xff000000)" ( (binary_expression "uVar17 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar17 & 0xff0000) << 0x18" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar17 & 0xff00) << 0x28" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar17 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar17 & 0xffffffff)" ( (binary_expression "uVar17 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) (expression_statement "puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;" (assignment_expression "puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38" (subscript_expression "puVar7[1]" identifier [ number_literal ]) = (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar10 & 0xffffffff)" ( (binary_expression "uVar10 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) (if_statement "if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);" do (compound_statement "{\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      }" { (expression_statement "uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4)" identifier = (binary_expression "(ulong)*(uint *)(lVar5 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar5 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + uVar17 * 4)" ( (binary_expression "lVar5 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;" (assignment_expression "puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38" (subscript_expression "puVar7[uVar17 + 2]" identifier [ (binary_expression "uVar17 + 2" identifier + number_literal) ]) = (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar19 = uVar17 != iVar9 - 1;" (assignment_expression "bVar19 = uVar17 != iVar9 - 1" identifier = (binary_expression "uVar17 != iVar9 - 1" identifier != (binary_expression "iVar9 - 1" identifier - number_literal))) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;" (assignment_expression "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1" identifier = (binary_expression "puVar13 + (ulong)(iVar9 - 1) + 1" (binary_expression "puVar13 + (ulong)(iVar9 - 1)" identifier + (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(iVar9 - 1)" ( (binary_expression "iVar9 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (if_statement "if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" { (if_statement "if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" if (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" ( (binary_expression "uVar8 != (int)puVar13 - iVar16" identifier != (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) )) (compound_statement "{\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" { (labeled_statement "LAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" identifier (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" ( (string_literal ""../../gold/dynobj.cc"" " string_content ") , number_literal , (string_literal ""sized_create_elf_hash_table"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0029a7e1;" goto statement_identifier ;) })) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);" do (compound_statement "{\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    }" { (expression_statement "uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4)" identifier = (binary_expression "(ulong)*(uint *)(lVar6 + uVar17 * 4)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(lVar6 + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + uVar17 * 4)" ( (binary_expression "lVar6 + uVar17 * 4" identifier + (binary_expression "uVar17 * 4" identifier * number_literal)) ))))) ;) (expression_statement "puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;" (assignment_expression "puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38" (subscript_expression "puVar13[uVar17]" identifier [ identifier ]) = (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" ( (binary_expression "uVar10 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar19 = iVar14 - 1 != uVar17;" (assignment_expression "bVar19 = iVar14 - 1 != uVar17" identifier = (binary_expression "iVar14 - 1 != uVar17" (binary_expression "iVar14 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;" if (parenthesized_expression "(uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16)" ( (binary_expression "uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16" identifier != (binary_expression "((int)puVar13 + iVar14 * 8) - iVar16" (parenthesized_expression "((int)puVar13 + iVar14 * 8)" ( (binary_expression "(int)puVar13 + iVar14 * 8" (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar14 * 8" identifier * number_literal)) )) - identifier)) )) (goto_statement "goto LAB_0029a880;" goto statement_identifier ;)) (labeled_statement "LAB_0029a5c6:\n    *param_3 = (long)puVar7;" statement_identifier : (expression_statement "*param_3 = (long)puVar7;" (assignment_expression "*param_3 = (long)puVar7" (pointer_expression "*param_3" * identifier) = (cast_expression "(long)puVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;)) (expression_statement "*param_4 = uVar8;" (assignment_expression "*param_4 = uVar8" (pointer_expression "*param_4" * identifier) = identifier) ;) }))) (expression_statement "FUN_002dac60(lVar6);" (call_expression "FUN_002dac60(lVar6)" identifier (argument_list "(lVar6)" ( identifier ))) ;) (labeled_statement "LAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }" statement_identifier : (if_statement "if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }" if (parenthesized_expression "(lVar5 != 0)" ( (binary_expression "lVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_002dac60(lVar5);\n  }" { (expression_statement "FUN_002dac60(lVar5);" (call_expression "FUN_002dac60(lVar5)" identifier (argument_list "(lVar5)" ( identifier ))) ;) }))) (if_statement "if (local_58 != 0) {\n    FUN_002dac60();\n  }" if (parenthesized_expression "(local_58 != 0)" ( (binary_expression "local_58 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_002dac60();\n  }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + 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 + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT != LIT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) ^ (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) % IDENT) )) * LIT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (binary_expression IDENT - LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT + IDENT) + LIT) + IDENT) )) * IDENT) >> LIT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) + LIT) )) * LIT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )) - IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) + LIT) )) * LIT)) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (binary_expression IDENT * LIT)) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )) - IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )) - IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (binary_expression IDENT - LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (binary_expression (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )) - IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (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 != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)\n\n{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    \n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    \n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0029a2f0(long *param_1,int param_2,long *param_3,uint *param_4)" (identifier "FUN_0029a2f0") (parameter_list "(long *param_1,int param_2,long *param_3,uint *param_4)" (( "(") (parameter_declaration "long *param_1" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "long *param_3" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")"))) (compound_statement "{\n  uint *puVar1;\n  byte bVar2;\n  char cVar3;\n  uint uVar4;\n  long lVar5;\n  long lVar6;\n  ulong *puVar7;\n  uint uVar8;\n  int iVar9;\n  ulong uVar10;\n  uint uVar11;\n  byte *pbVar12;\n  ulong *puVar13;\n  int iVar14;\n  uint uVar15;\n  int iVar16;\n  ulong uVar17;\n  ulong uVar18;\n  bool bVar19;\n  long local_78;\n  long local_70;\n  long local_58;\n  long local_50;\n  long local_48;\n  \n  uVar17 = param_1[1] - *param_1 >> 3;\n  iVar16 = (int)uVar17;\n  uVar17 = uVar17 & 0xffffffff;\n  local_58 = 0;\n  local_50 = 0;\n  local_48 = 0;\n  if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }\n  if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }\n                    \n  uVar8 = FUN_0029a200(&local_58,0);\n  uVar17 = (ulong)uVar8;\n  if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }\n  if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }\n  if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }\nLAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);\n  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;\n                    \n  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }\n  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);\n  iVar16 = (int)puVar7;\n  if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }\n  FUN_002dac60(lVar6);\nLAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }\n  if (local_58 != 0) {\n    FUN_002dac60();\n  }\n  return;\n}" ({ "{") (declaration "uint *puVar1;" (type_identifier "uint") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "ulong *puVar7;" (type_identifier "ulong") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "ulong *puVar13;" (type_identifier "ulong") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "ulong uVar17;" (type_identifier "ulong") (identifier "uVar17") (; ";")) (declaration "ulong uVar18;" (type_identifier "ulong") (identifier "uVar18") (; ";")) (declaration "bool bVar19;" (primitive_type "bool") (identifier "bVar19") (; ";")) (declaration "long local_78;" (sized_type_specifier "long" (long "long")) (identifier "local_78") (; ";")) (declaration "long local_70;" (sized_type_specifier "long" (long "long")) (identifier "local_70") (; ";")) (declaration "long local_58;" (sized_type_specifier "long" (long "long")) (identifier "local_58") (; ";")) (declaration "long local_50;" (sized_type_specifier "long" (long "long")) (identifier "local_50") (; ";")) (declaration "long local_48;" (sized_type_specifier "long" (long "long")) (identifier "local_48") (; ";")) (expression_statement "uVar17 = param_1[1] - *param_1 >> 3;" (assignment_expression "uVar17 = param_1[1] - *param_1 >> 3" (identifier "uVar17") (= "=") (binary_expression "param_1[1] - *param_1 >> 3" (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"))) (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "iVar16 = (int)uVar17;" (assignment_expression "iVar16 = (int)uVar17" (identifier "iVar16") (= "=") (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 & 0xffffffff;" (assignment_expression "uVar17 = uVar17 & 0xffffffff" (identifier "uVar17") (= "=") (binary_expression "uVar17 & 0xffffffff" (identifier "uVar17") (& "&") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar17 == 0) {\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }\n  else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" (if "if") (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_50 = 0;\n    local_48 = uVar17 * 4;\n  }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_48 = uVar17 * 4;" (assignment_expression "local_48 = uVar17 * 4" (identifier "local_48") (= "=") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) (; ";")) (} "}")) (else_clause "else {\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" (else "else") (compound_statement "{\n    local_58 = FUN_002d9490();\n    uVar10 = 0;\n    local_50 = uVar17 * 4 + local_58;\n    do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);\n  }" ({ "{") (expression_statement "local_58 = FUN_002d9490();" (assignment_expression "local_58 = FUN_002d9490()" (identifier "local_58") (= "=") (call_expression "FUN_002d9490()" (identifier "FUN_002d9490") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = uVar17 * 4 + local_58;" (assignment_expression "local_50 = uVar17 * 4 + local_58" (identifier "local_50") (= "=") (binary_expression "uVar17 * 4 + local_58" (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4")) (+ "+") (identifier "local_58"))) (; ";")) (do_statement "do {\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    } while (uVar17 != uVar10);" (do "do") (compound_statement "{\n      *(undefined4 *)(local_58 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n      local_48 = local_50;\n    }" ({ "{") (expression_statement "*(undefined4 *)(local_58 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(local_58 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(local_58 + uVar10 * 4)" (* "*") (cast_expression "(undefined4 *)(local_58 + uVar10 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + uVar10 * 4)" (( "(") (binary_expression "local_58 + uVar10 * 4" (identifier "local_58") (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_48 = local_50;" (assignment_expression "local_48 = local_50" (identifier "local_48") (= "=") (identifier "local_50")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar17 != uVar10)" (( "(") (binary_expression "uVar17 != uVar10" (identifier "uVar17") (!= "!=") (identifier "uVar10")) () ")")) (; ";")) (} "}")))) (if_statement "if (iVar16 != 0) {\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar5 = *param_1;\n    uVar17 = 0;\n    do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n  }" ({ "{") (expression_statement "lVar5 = *param_1;" (assignment_expression "lVar5 = *param_1" (identifier "lVar5") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);" (do "do") (compound_statement "{\n      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);\n      uVar8 = 0;\n      while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }\nLAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;\n      bVar19 = iVar16 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    }" ({ "{") (expression_statement "pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);" (assignment_expression "pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8)" (identifier "pbVar12") (= "=") (cast_expression "(byte *)**(undefined8 **)(lVar5 + uVar17 * 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined8 **)(lVar5 + uVar17 * 8)" (* "*") (pointer_expression "*(undefined8 **)(lVar5 + uVar17 * 8)" (* "*") (cast_expression "(undefined8 **)(lVar5 + uVar17 * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar5 + uVar17 * 8)" (( "(") (binary_expression "lVar5 + uVar17 * 8" (identifier "lVar5") (+ "+") (binary_expression "uVar17 * 8" (identifier "uVar17") (* "*") (number_literal "8"))) () ")"))))))) (; ";")) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (while_statement "while (bVar2 = *pbVar12, bVar2 != 0) {\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }" (while "while") (parenthesized_expression "(bVar2 = *pbVar12, bVar2 != 0)" (( "(") (comma_expression "bVar2 = *pbVar12, bVar2 != 0" (assignment_expression "bVar2 = *pbVar12" (identifier "bVar2") (= "=") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12"))) (, ",") (binary_expression "bVar2 != 0" (identifier "bVar2") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }\n      }" ({ "{") (while_statement "while( true ) {\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          pbVar12 = pbVar12 + 1;\n          uVar8 = uVar8 * 0x10 + (uint)bVar2;\n          if ((uVar8 & 0xf0000000) == 0) break;\n          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;\n          bVar2 = *pbVar12;\n          if (bVar2 == 0) goto LAB_0029a3ca;\n        }" ({ "{") (expression_statement "pbVar12 = pbVar12 + 1;" (assignment_expression "pbVar12 = pbVar12 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 1" (identifier "pbVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar8 = uVar8 * 0x10 + (uint)bVar2;" (assignment_expression "uVar8 = uVar8 * 0x10 + (uint)bVar2" (identifier "uVar8") (= "=") (binary_expression "uVar8 * 0x10 + (uint)bVar2" (binary_expression "uVar8 * 0x10" (identifier "uVar8") (* "*") (number_literal "0x10")) (+ "+") (cast_expression "(uint)bVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar2")))) (; ";")) (if_statement "if ((uVar8 & 0xf0000000) == 0) break;" (if "if") (parenthesized_expression "((uVar8 & 0xf0000000) == 0)" (( "(") (binary_expression "(uVar8 & 0xf0000000) == 0" (parenthesized_expression "(uVar8 & 0xf0000000)" (( "(") (binary_expression "uVar8 & 0xf0000000" (identifier "uVar8") (& "&") (number_literal "0xf0000000")) () ")")) (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;" (assignment_expression "uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18" (identifier "uVar8") (= "=") (binary_expression "uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18" (binary_expression "uVar8 & 0xfffffff" (identifier "uVar8") (& "&") (number_literal "0xfffffff")) (^ "^") (binary_expression "(uVar8 & 0xf0000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xf0000000)" (( "(") (binary_expression "uVar8 & 0xf0000000" (identifier "uVar8") (& "&") (number_literal "0xf0000000")) () ")")) (>> ">>") (number_literal "0x18")))) (; ";")) (expression_statement "bVar2 = *pbVar12;" (assignment_expression "bVar2 = *pbVar12" (identifier "bVar2") (= "=") (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12"))) (; ";")) (if_statement "if (bVar2 == 0) goto LAB_0029a3ca;" (if "if") (parenthesized_expression "(bVar2 == 0)" (( "(") (binary_expression "bVar2 == 0" (identifier "bVar2") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0029a3ca;" (goto "goto") (statement_identifier "LAB_0029a3ca") (; ";"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0029a3ca:\n      *(uint *)(local_58 + uVar17 * 4) = uVar8;" (statement_identifier "LAB_0029a3ca") (: ":") (expression_statement "*(uint *)(local_58 + uVar17 * 4) = uVar8;" (assignment_expression "*(uint *)(local_58 + uVar17 * 4) = uVar8" (pointer_expression "*(uint *)(local_58 + uVar17 * 4)" (* "*") (cast_expression "(uint *)(local_58 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + uVar17 * 4)" (( "(") (binary_expression "local_58 + uVar17 * 4" (identifier "local_58") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar8")) (; ";"))) (expression_statement "bVar19 = iVar16 - 1 != uVar17;" (assignment_expression "bVar19 = iVar16 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "iVar16 - 1 != uVar17" (binary_expression "iVar16 - 1" (identifier "iVar16") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (} "}"))) (expression_statement "uVar8 = FUN_0029a200(&local_58,0);" (assignment_expression "uVar8 = FUN_0029a200(&local_58,0)" (identifier "uVar8") (= "=") (call_expression "FUN_0029a200(&local_58,0)" (identifier "FUN_0029a200") (argument_list "(&local_58,0)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar17 = (ulong)uVar8;" (assignment_expression "uVar17 = (ulong)uVar8" (identifier "uVar17") (= "=") (cast_expression "(ulong)uVar8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar8"))) (; ";")) (if_statement "if (uVar17 == 0) {\n    local_70 = 0;\n    lVar5 = 0;\n  }\n  else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" (if "if") (parenthesized_expression "(uVar17 == 0)" (( "(") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_70 = 0;\n    lVar5 = 0;\n  }" ({ "{") (expression_statement "local_70 = 0;" (assignment_expression "local_70 = 0" (identifier "local_70") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar5 = 0;" (assignment_expression "lVar5 = 0" (identifier "lVar5") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" (else "else") (compound_statement "{\n    lVar5 = FUN_002d9490(uVar17 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);\n    local_70 = lVar5 + uVar17 * 4;\n  }" ({ "{") (expression_statement "lVar5 = FUN_002d9490(uVar17 * 4);" (assignment_expression "lVar5 = FUN_002d9490(uVar17 * 4)" (identifier "lVar5") (= "=") (call_expression "FUN_002d9490(uVar17 * 4)" (identifier "FUN_002d9490") (argument_list "(uVar17 * 4)" (( "(") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar17 != uVar10);" (do "do") (compound_statement "{\n      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    }" ({ "{") (expression_statement "*(undefined4 *)(lVar5 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar5 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar5 + uVar10 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar5 + uVar10 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + uVar10 * 4)" (( "(") (binary_expression "lVar5 + uVar10 * 4" (identifier "lVar5") (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar17 != uVar10)" (( "(") (binary_expression "uVar17 != uVar10" (identifier "uVar17") (!= "!=") (identifier "uVar10")) () ")")) (; ";")) (expression_statement "local_70 = lVar5 + uVar17 * 4;" (assignment_expression "local_70 = lVar5 + uVar17 * 4" (identifier "local_70") (= "=") (binary_expression "lVar5 + uVar17 * 4" (identifier "lVar5") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4")))) (; ";")) (} "}")))) (if_statement "if (param_2 + iVar16 == 0) {\n    local_78 = 0;\n    lVar6 = 0;\n  }\n  else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" (if "if") (parenthesized_expression "(param_2 + iVar16 == 0)" (( "(") (binary_expression "param_2 + iVar16 == 0" (binary_expression "param_2 + iVar16" (identifier "param_2") (+ "+") (identifier "iVar16")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_78 = 0;\n    lVar6 = 0;\n  }" ({ "{") (expression_statement "local_78 = 0;" (assignment_expression "local_78 = 0" (identifier "local_78") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar6 = 0;" (assignment_expression "lVar6 = 0" (identifier "lVar6") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" (else "else") (compound_statement "{\n    uVar18 = (ulong)(uint)(param_2 + iVar16);\n                    \n    lVar6 = FUN_002d9490(uVar18 * 4);\n    uVar10 = 0;\n    do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);\n    local_78 = lVar6 + uVar18 * 4;\n  }" ({ "{") (expression_statement "uVar18 = (ulong)(uint)(param_2 + iVar16);" (assignment_expression "uVar18 = (ulong)(uint)(param_2 + iVar16)" (identifier "uVar18") (= "=") (call_expression "(ulong)(uint)(param_2 + iVar16)" (call_expression "(ulong)(uint)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uint)" (( "(") (identifier "uint") () ")"))) (argument_list "(param_2 + iVar16)" (( "(") (binary_expression "param_2 + iVar16" (identifier "param_2") (+ "+") (identifier "iVar16")) () ")")))) (; ";")) (expression_statement "lVar6 = FUN_002d9490(uVar18 * 4);" (assignment_expression "lVar6 = FUN_002d9490(uVar18 * 4)" (identifier "lVar6") (= "=") (call_expression "FUN_002d9490(uVar18 * 4)" (identifier "FUN_002d9490") (argument_list "(uVar18 * 4)" (( "(") (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    } while (uVar18 != uVar10);" (do "do") (compound_statement "{\n      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;\n      uVar10 = uVar10 + 1;\n    }" ({ "{") (expression_statement "*(undefined4 *)(lVar6 + uVar10 * 4) = 0;" (assignment_expression "*(undefined4 *)(lVar6 + uVar10 * 4) = 0" (pointer_expression "*(undefined4 *)(lVar6 + uVar10 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar6 + uVar10 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + uVar10 * 4)" (( "(") (binary_expression "lVar6 + uVar10 * 4" (identifier "lVar6") (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar18 != uVar10)" (( "(") (binary_expression "uVar18 != uVar10" (identifier "uVar18") (!= "!=") (identifier "uVar10")) () ")")) (; ";")) (expression_statement "local_78 = lVar6 + uVar18 * 4;" (assignment_expression "local_78 = lVar6 + uVar18 * 4" (identifier "local_78") (= "=") (binary_expression "lVar6 + uVar18 * 4" (identifier "lVar6") (+ "+") (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")))) (; ";")) (} "}")))) (if_statement "if (iVar16 != 0) {\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    param_1 = (long *)*param_1;\n    uVar11 = *(uint *)(*param_1 + 0x20);\n    if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }\n                    \n    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");\n  }" ({ "{") (expression_statement "param_1 = (long *)*param_1;" (assignment_expression "param_1 = (long *)*param_1" (identifier "param_1") (= "=") (cast_expression "(long *)*param_1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "uVar11 = *(uint *)(*param_1 + 0x20);" (assignment_expression "uVar11 = *(uint *)(*param_1 + 0x20)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(*param_1 + 0x20)" (* "*") (cast_expression "(uint *)(*param_1 + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_1 + 0x20)" (( "(") (binary_expression "*param_1 + 0x20" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (uVar11 != 0) {\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar10 = 0;\n      do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);\n    }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      } while (uVar11 != 0);" (do "do") (compound_statement "{\n        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);\n        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;\n        *puVar1 = uVar11;\n        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;\n        uVar10 = uVar10 + 1;\n        uVar11 = *(uint *)(param_1[uVar10] + 0x20);\n      }" ({ "{") (expression_statement "puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);" (assignment_expression "puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" (identifier "puVar1") (= "=") (cast_expression "(uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4)" (( "(") (binary_expression "lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4" (identifier "lVar5") (+ "+") (binary_expression "((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4" (parenthesized_expression "((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17)" (( "(") (binary_expression "(ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17" (binary_expression "(ulong)*(uint *)(local_58 + uVar10 * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(local_58 + uVar10 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_58 + uVar10 * 4)" (( "(") (binary_expression "local_58 + uVar10 * 4" (identifier "local_58") (+ "+") (binary_expression "uVar10 * 4" (identifier "uVar10") (* "*") (number_literal "4"))) () ")")))) (% "%") (identifier "uVar17")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "*(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;" (assignment_expression "*(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1" (pointer_expression "*(uint *)(lVar6 + (ulong)uVar11 * 4)" (* "*") (cast_expression "(uint *)(lVar6 + (ulong)uVar11 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + (ulong)uVar11 * 4)" (( "(") (binary_expression "lVar6 + (ulong)uVar11 * 4" (identifier "lVar6") (+ "+") (binary_expression "(ulong)uVar11 * 4" (cast_expression "(ulong)uVar11" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar11")) (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "*puVar1 = uVar11;" (assignment_expression "*puVar1 = uVar11" (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;" (if "if") (parenthesized_expression "(uVar10 == iVar16 - 1)" (( "(") (binary_expression "uVar10 == iVar16 - 1" (identifier "uVar10") (== "==") (binary_expression "iVar16 - 1" (identifier "iVar16") (- "-") (number_literal "1"))) () ")")) (goto_statement "goto LAB_0029a4bf;" (goto "goto") (statement_identifier "LAB_0029a4bf") (; ";"))) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar11 = *(uint *)(param_1[uVar10] + 0x20);" (assignment_expression "uVar11 = *(uint *)(param_1[uVar10] + 0x20)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(param_1[uVar10] + 0x20)" (* "*") (cast_expression "(uint *)(param_1[uVar10] + 0x20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[uVar10] + 0x20)" (( "(") (binary_expression "param_1[uVar10] + 0x20" (subscript_expression "param_1[uVar10]" (identifier "param_1") ([ "[") (identifier "uVar10") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");" (call_expression "FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index")" (identifier "FUN_0017c650") (argument_list "("../../gold/symtab.h",0x19a,"dynsym_index")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0x19a") (, ",") (string_literal ""dynsym_index"" (" """) (string_content "dynsym_index") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0029a4bf:\n  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" (statement_identifier "LAB_0029a4bf") (: ":") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);" (assignment_expression "iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" (* "*") (cast_expression "(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78)" (( "(") (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (expression_statement "uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;" (assignment_expression "uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3" (identifier "uVar8") (= "=") (binary_expression "(uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3" (binary_expression "(uVar8 + param_2 + 2 + iVar16) * iVar9" (parenthesized_expression "(uVar8 + param_2 + 2 + iVar16)" (( "(") (binary_expression "uVar8 + param_2 + 2 + iVar16" (binary_expression "uVar8 + param_2 + 2" (binary_expression "uVar8 + param_2" (identifier "uVar8") (+ "+") (identifier "param_2")) (+ "+") (number_literal "2")) (+ "+") (identifier "iVar16")) () ")")) (* "*") (identifier "iVar9")) (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);" (assignment_expression "puVar7 = (ulong *)thunk_FUN_002d9490(uVar8)" (identifier "puVar7") (= "=") (cast_expression "(ulong *)thunk_FUN_002d9490(uVar8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "thunk_FUN_002d9490(uVar8)" (identifier "thunk_FUN_002d9490") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))))) (; ";")) (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/parameters.h",0x69,"target");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);" (assignment_expression "cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" (identifier "cVar3") (= "=") (pointer_expression "*(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" (* "*") (cast_expression "(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4)" (( "(") (binary_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4" (pointer_expression "*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (* "*") (cast_expression "(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x18)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x18)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x18" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "iVar16 = (int)puVar7;" (assignment_expression "iVar16 = (int)puVar7" (identifier "iVar16") (= "=") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) (; ";")) (if_statement "if (iVar9 == 0x20) {\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }\n  else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" (if "if") (parenthesized_expression "(iVar9 == 0x20)" (( "(") (binary_expression "iVar9 == 0x20" (identifier "iVar9") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    puVar13 = puVar7 + 1;\n    uVar11 = (uint)(local_70 - lVar5 >> 2);\n    uVar15 = (uint)(local_78 - lVar6 >> 2);\n    if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }\nLAB_0029a7e1:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n    if (lVar6 == 0) goto LAB_0029a5dd;\n  }" ({ "{") (expression_statement "puVar13 = puVar7 + 1;" (assignment_expression "puVar13 = puVar7 + 1" (identifier "puVar13") (= "=") (binary_expression "puVar7 + 1" (identifier "puVar7") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar11 = (uint)(local_70 - lVar5 >> 2);" (assignment_expression "uVar11 = (uint)(local_70 - lVar5 >> 2)" (identifier "uVar11") (= "=") (call_expression "(uint)(local_70 - lVar5 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_70 - lVar5 >> 2)" (( "(") (binary_expression "local_70 - lVar5 >> 2" (binary_expression "local_70 - lVar5" (identifier "local_70") (- "-") (identifier "lVar5")) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (expression_statement "uVar15 = (uint)(local_78 - lVar6 >> 2);" (assignment_expression "uVar15 = (uint)(local_78 - lVar6 >> 2)" (identifier "uVar15") (= "=") (call_expression "(uint)(local_78 - lVar6 >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_78 - lVar6 >> 2)" (( "(") (binary_expression "local_78 - lVar6 >> 2" (binary_expression "local_78 - lVar6" (identifier "local_78") (- "-") (identifier "lVar6")) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (cVar3 == '\0') {\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }\n    else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(uint *)puVar7 = uVar11;\n      *(uint *)((long)puVar7 + 4) = uVar15;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;\n    }" ({ "{") (expression_statement "*(uint *)puVar7 = uVar11;" (assignment_expression "*(uint *)puVar7 = uVar11" (pointer_expression "*(uint *)puVar7" (* "*") (cast_expression "(uint *)puVar7" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(uint *)((long)puVar7 + 4) = uVar15;" (assignment_expression "*(uint *)((long)puVar7 + 4) = uVar15" (pointer_expression "*(uint *)((long)puVar7 + 4)" (* "*") (cast_expression "(uint *)((long)puVar7 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar7 + 4)" (( "(") (binary_expression "(long)puVar7 + 4" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar15")) (; ";")) (if_statement "if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" (do "do") (compound_statement "{\n          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" ({ "{") (expression_statement "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);" (assignment_expression "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4)" (pointer_expression "*(undefined4 *)((long)puVar7 + uVar17 * 4 + 8)" (* "*") (cast_expression "(undefined4 *)((long)puVar7 + uVar17 * 4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar7 + uVar17 * 4 + 8)" (( "(") (binary_expression "(long)puVar7 + uVar17 * 4 + 8" (binary_expression "(long)puVar7 + uVar17 * 4" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(lVar5 + uVar17 * 4)" (* "*") (cast_expression "(undefined4 *)(lVar5 + uVar17 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + uVar17 * 4)" (( "(") (binary_expression "lVar5 + uVar17 * 4" (identifier "lVar5") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "bVar19 = uVar11 - 1 != uVar17;" (assignment_expression "bVar19 = uVar11 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "uVar11 - 1 != uVar17" (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (expression_statement "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);" (assignment_expression "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" (( "(") (binary_expression "(long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (binary_expression "((ulong)(uVar11 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar11 - 1) + 1)" (( "(") (binary_expression "(ulong)(uVar11 - 1) + 1" (call_expression "(ulong)(uVar11 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar11 - 1)" (( "(") (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1")) () ")"))) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" (if "if") (parenthesized_expression "(uVar15 != 0)" (( "(") (binary_expression "uVar15 != 0" (identifier "uVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" (do "do") (compound_statement "{\n          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" ({ "{") (expression_statement "*(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "*(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4)" (pointer_expression "*(uint *)((long)puVar13 + uVar17 * 4)" (* "*") (cast_expression "(uint *)((long)puVar13 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + uVar17 * 4)" (( "(") (binary_expression "(long)puVar13 + uVar17 * 4" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")")))) (= "=") (pointer_expression "*(uint *)(lVar6 + uVar17 * 4)" (* "*") (cast_expression "(uint *)(lVar6 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + uVar17 * 4)" (( "(") (binary_expression "lVar6 + uVar17 * 4" (identifier "lVar6") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "bVar19 = uVar15 - 1 != uVar17;" (assignment_expression "bVar19 = uVar15 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "uVar15 - 1 != uVar17" (binary_expression "uVar15 - 1" (identifier "uVar15") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (if_statement "if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" (if "if") (parenthesized_expression "(uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16)" (( "(") (binary_expression "uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "((int)puVar13 + uVar15 * 4) - iVar16" (parenthesized_expression "((int)puVar13 + uVar15 * 4)" (( "(") (binary_expression "(int)puVar13 + uVar15 * 4" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4"))) () ")")) (- "-") (identifier "iVar16"))) () ")")) (compound_statement "{\nLAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" ({ "{") (labeled_statement "LAB_0029a817:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (statement_identifier "LAB_0029a817") (: ":") (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (identifier "FUN_0017c650") (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (( "(") (string_literal ""../../gold/dynobj.cc"" (" """) (string_content "../../gold/dynobj.cc") (" """)) (, ",") (number_literal "0x40e") (, ",") (string_literal ""sized_create_elf_hash_table"" (" """) (string_content "sized_create_elf_hash_table") (" """)) () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_0029a5c6;" (goto "goto") (statement_identifier "LAB_0029a5c6") (; ";")) (} "}"))) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;" (if "if") (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" (( "(") (binary_expression "uVar8 != (int)puVar13 - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (- "-") (identifier "iVar16"))) () ")")) (goto_statement "goto LAB_0029a817;" (goto "goto") (statement_identifier "LAB_0029a817") (; ";"))) (} "}")) (else_clause "else {\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" (else "else") (compound_statement "{\n      *(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n      *(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n      if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }\n      if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;\n    }" ({ "{") (expression_statement "*(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*(uint *)puVar7 =\n           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*(uint *)puVar7" (* "*") (cast_expression "(uint *)puVar7" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "*(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "*(uint *)((long)puVar7 + 4) =\n           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (pointer_expression "*(uint *)((long)puVar7 + 4)" (* "*") (cast_expression "(uint *)((long)puVar7 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar7 + 4)" (( "(") (binary_expression "(long)puVar7 + 4" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8" (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8" (binary_expression "uVar15 >> 0x18" (identifier "uVar15") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar15 & 0xff0000) >> 8" (parenthesized_expression "(uVar15 & 0xff0000)" (( "(") (binary_expression "uVar15 & 0xff0000" (identifier "uVar15") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar15 & 0xff00) << 8" (parenthesized_expression "(uVar15 & 0xff00)" (( "(") (binary_expression "uVar15 & 0xff00" (identifier "uVar15") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar15 << 0x18" (identifier "uVar15") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (uVar11 != 0) {\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" (do "do") (compound_statement "{\n          uVar4 = *(uint *)(lVar5 + uVar17 * 4);\n          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n          bVar19 = uVar11 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" ({ "{") (expression_statement "uVar4 = *(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "uVar4 = *(uint *)(lVar5 + uVar17 * 4)" (identifier "uVar4") (= "=") (pointer_expression "*(uint *)(lVar5 + uVar17 * 4)" (* "*") (cast_expression "(uint *)(lVar5 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + uVar17 * 4)" (( "(") (binary_expression "lVar5 + uVar17 * 4" (identifier "lVar5") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)((long)puVar7 + uVar17 * 4 + 8) =\n               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)((long)puVar7 + uVar17 * 4 + 8)" (* "*") (cast_expression "(uint *)((long)puVar7 + uVar17 * 4 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar7 + uVar17 * 4 + 8)" (( "(") (binary_expression "(long)puVar7 + uVar17 * 4 + 8" (binary_expression "(long)puVar7 + uVar17 * 4" (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7")) (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar4 << 0x18" (identifier "uVar4") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "bVar19 = uVar11 - 1 != uVar17;" (assignment_expression "bVar19 = uVar11 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "uVar11 - 1 != uVar17" (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (expression_statement "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);" (assignment_expression "puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" (identifier "puVar13") (= "=") (cast_expression "(ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4)" (( "(") (binary_expression "(long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (binary_expression "((ulong)(uVar11 - 1) + 1) * 4" (parenthesized_expression "((ulong)(uVar11 - 1) + 1)" (( "(") (binary_expression "(ulong)(uVar11 - 1) + 1" (call_expression "(ulong)(uVar11 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar11 - 1)" (( "(") (binary_expression "uVar11 - 1" (identifier "uVar11") (- "-") (number_literal "1")) () ")"))) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (} "}"))) (if_statement "if (uVar15 != 0) {\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" (if "if") (parenthesized_expression "(uVar15 != 0)" (( "(") (binary_expression "uVar15 != 0" (identifier "uVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" (do "do") (compound_statement "{\n          uVar11 = *(uint *)(lVar6 + uVar17 * 4);\n          *(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;\n          bVar19 = uVar15 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" ({ "{") (expression_statement "uVar11 = *(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "uVar11 = *(uint *)(lVar6 + uVar17 * 4)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(lVar6 + uVar17 * 4)" (* "*") (cast_expression "(uint *)(lVar6 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + uVar17 * 4)" (( "(") (binary_expression "lVar6 + uVar17 * 4" (identifier "lVar6") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "*(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;" (assignment_expression "*(uint *)((long)puVar13 + uVar17 * 4) =\n               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (pointer_expression "*(uint *)((long)puVar13 + uVar17 * 4)" (* "*") (cast_expression "(uint *)((long)puVar13 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar13 + uVar17 * 4)" (( "(") (binary_expression "(long)puVar13 + uVar17 * 4" (cast_expression "(long)puVar13" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar13")) (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")")))) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" (identifier "uVar11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar11 << 0x18" (identifier "uVar11") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "bVar19 = uVar15 - 1 != uVar17;" (assignment_expression "bVar19 = uVar15 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "uVar15 - 1 != uVar17" (binary_expression "uVar15 - 1" (identifier "uVar15") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (if_statement "if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" (if "if") (parenthesized_expression "(uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16)" (( "(") (binary_expression "uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "((int)puVar13 + uVar15 * 4) - iVar16" (parenthesized_expression "((int)puVar13 + uVar15 * 4)" (( "(") (binary_expression "(int)puVar13 + uVar15 * 4" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (binary_expression "uVar15 * 4" (identifier "uVar15") (* "*") (number_literal "4"))) () ")")) (- "-") (identifier "iVar16"))) () ")")) (compound_statement "{\nLAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" ({ "{") (labeled_statement "LAB_0029a837:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (statement_identifier "LAB_0029a837") (: ":") (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (identifier "FUN_0017c650") (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (( "(") (string_literal ""../../gold/dynobj.cc"" (" """) (string_content "../../gold/dynobj.cc") (" """)) (, ",") (number_literal "0x40e") (, ",") (string_literal ""sized_create_elf_hash_table"" (" """) (string_content "sized_create_elf_hash_table") (" """)) () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_0029a5c6;" (goto "goto") (statement_identifier "LAB_0029a5c6") (; ";")) (} "}"))) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;" (if "if") (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" (( "(") (binary_expression "uVar8 != (int)puVar13 - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (- "-") (identifier "iVar16"))) () ")")) (goto_statement "goto LAB_0029a837;" (goto "goto") (statement_identifier "LAB_0029a837") (; ";"))) (} "}")))) (labeled_statement "LAB_0029a7e1:\n    *param_3 = (long)puVar7;" (statement_identifier "LAB_0029a7e1") (: ":") (expression_statement "*param_3 = (long)puVar7;" (assignment_expression "*param_3 = (long)puVar7" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7"))) (; ";"))) (expression_statement "*param_4 = uVar8;" (assignment_expression "*param_4 = uVar8" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (lVar6 == 0) goto LAB_0029a5dd;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0029a5dd;" (goto "goto") (statement_identifier "LAB_0029a5dd") (; ";"))) (} "}")) (else_clause "else {\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" (else "else") (compound_statement "{\n    if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }\n    puVar13 = puVar7 + 2;\n    uVar17 = local_70 - lVar5 >> 2;\n    uVar10 = local_78 - lVar6 >> 2;\n    iVar9 = (int)uVar17;\n    iVar14 = (int)uVar10;\n    if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }\n    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;\n    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;\n    if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }\n    if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }\n    uVar17 = 0;\n    do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);\n    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;\nLAB_0029a5c6:\n    *param_3 = (long)puVar7;\n    *param_4 = uVar8;\n  }" ({ "{") (if_statement "if (iVar9 != 0x40) {\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" (if "if") (parenthesized_expression "(iVar9 != 0x40)" (( "(") (binary_expression "iVar9 != 0x40" (identifier "iVar9") (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" (identifier "FUN_0017c650") (argument_list "("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table")" (( "(") (string_literal ""../../gold/dynobj.cc"" (" """) (string_content "../../gold/dynobj.cc") (" """)) (, ",") (number_literal "0x3e9") (, ",") (string_literal ""create_elf_hash_table"" (" """) (string_content "create_elf_hash_table") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar13 = puVar7 + 2;" (assignment_expression "puVar13 = puVar7 + 2" (identifier "puVar13") (= "=") (binary_expression "puVar7 + 2" (identifier "puVar7") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar17 = local_70 - lVar5 >> 2;" (assignment_expression "uVar17 = local_70 - lVar5 >> 2" (identifier "uVar17") (= "=") (binary_expression "local_70 - lVar5 >> 2" (binary_expression "local_70 - lVar5" (identifier "local_70") (- "-") (identifier "lVar5")) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "uVar10 = local_78 - lVar6 >> 2;" (assignment_expression "uVar10 = local_78 - lVar6 >> 2" (identifier "uVar10") (= "=") (binary_expression "local_78 - lVar6 >> 2" (binary_expression "local_78 - lVar6" (identifier "local_78") (- "-") (identifier "lVar6")) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "iVar9 = (int)uVar17;" (assignment_expression "iVar9 = (int)uVar17" (identifier "iVar9") (= "=") (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17"))) (; ";")) (expression_statement "iVar14 = (int)uVar10;" (assignment_expression "iVar14 = (int)uVar10" (identifier "iVar14") (= "=") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) (; ";")) (if_statement "if (cVar3 == '\0') {\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" (if "if") (parenthesized_expression "(cVar3 == '\0')" (( "(") (binary_expression "cVar3 == '\0'" (identifier "cVar3") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *puVar7 = uVar17 & 0xffffffff;\n      puVar7[1] = uVar10 & 0xffffffff;\n      if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }\n      if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }\n      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;\n      goto LAB_0029a7e1;\n    }" ({ "{") (expression_statement "*puVar7 = uVar17 & 0xffffffff;" (assignment_expression "*puVar7 = uVar17 & 0xffffffff" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (binary_expression "uVar17 & 0xffffffff" (identifier "uVar17") (& "&") (number_literal "0xffffffff"))) (; ";")) (expression_statement "puVar7[1] = uVar10 & 0xffffffff;" (assignment_expression "puVar7[1] = uVar10 & 0xffffffff" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar10 & 0xffffffff" (identifier "uVar10") (& "&") (number_literal "0xffffffff"))) (; ";")) (if_statement "if (iVar9 != 0) {\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" (do "do") (compound_statement "{\n          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n          bVar19 = iVar9 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" ({ "{") (expression_statement "puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4)" (subscript_expression "puVar7[uVar17 + 2]" (identifier "puVar7") ([ "[") (binary_expression "uVar17 + 2" (identifier "uVar17") (+ "+") (number_literal "2")) (] "]")) (= "=") (binary_expression "(ulong)*(uint *)(lVar5 + uVar17 * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar5 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + uVar17 * 4)" (( "(") (binary_expression "lVar5 + uVar17 * 4" (identifier "lVar5") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "bVar19 = iVar9 - 1 != uVar17;" (assignment_expression "bVar19 = iVar9 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "iVar9 - 1 != uVar17" (binary_expression "iVar9 - 1" (identifier "iVar9") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (expression_statement "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;" (assignment_expression "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1" (identifier "puVar13") (= "=") (binary_expression "puVar13 + (ulong)(iVar9 - 1) + 1" (binary_expression "puVar13 + (ulong)(iVar9 - 1)" (identifier "puVar13") (+ "+") (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar9 - 1)" (( "(") (binary_expression "iVar9 - 1" (identifier "iVar9") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (iVar14 != 0) {\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);\n        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }\n        goto LAB_0029a5c6;\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        } while (bVar19);" (do "do") (compound_statement "{\n          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n          bVar19 = iVar14 - 1 != uVar17;\n          uVar17 = uVar17 + 1;\n        }" ({ "{") (expression_statement "puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4)" (subscript_expression "puVar13[uVar17]" (identifier "puVar13") ([ "[") (identifier "uVar17") (] "]")) (= "=") (binary_expression "(ulong)*(uint *)(lVar6 + uVar17 * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar6 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + uVar17 * 4)" (( "(") (binary_expression "lVar6 + uVar17 * 4" (identifier "lVar6") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "bVar19 = iVar14 - 1 != uVar17;" (assignment_expression "bVar19 = iVar14 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "iVar14 - 1 != uVar17" (binary_expression "iVar14 - 1" (identifier "iVar14") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (if_statement "if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" (if "if") (parenthesized_expression "(uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16)" (( "(") (binary_expression "uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "((int)puVar13 + iVar14 * 8) - iVar16" (parenthesized_expression "((int)puVar13 + iVar14 * 8)" (( "(") (binary_expression "(int)puVar13 + iVar14 * 8" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (binary_expression "iVar14 * 8" (identifier "iVar14") (* "*") (number_literal "8"))) () ")")) (- "-") (identifier "iVar16"))) () ")")) (compound_statement "{\nLAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n        }" ({ "{") (labeled_statement "LAB_0029a673:\n                    \n          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (statement_identifier "LAB_0029a673") (: ":") (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (identifier "FUN_0017c650") (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (( "(") (string_literal ""../../gold/dynobj.cc"" (" """) (string_content "../../gold/dynobj.cc") (" """)) (, ",") (number_literal "0x40e") (, ",") (string_literal ""sized_create_elf_hash_table"" (" """) (string_content "sized_create_elf_hash_table") (" """)) () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_0029a5c6;" (goto "goto") (statement_identifier "LAB_0029a5c6") (; ";")) (} "}"))) (if_statement "if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;" (if "if") (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" (( "(") (binary_expression "uVar8 != (int)puVar13 - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (- "-") (identifier "iVar16"))) () ")")) (goto_statement "goto LAB_0029a673;" (goto "goto") (statement_identifier "LAB_0029a673") (; ";"))) (goto_statement "goto LAB_0029a7e1;" (goto "goto") (statement_identifier "LAB_0029a7e1") (; ";")) (} "}"))) (expression_statement "*puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38;" (assignment_expression "*puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |\n              (uVar17 & 0xffffffff) << 0x38" (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28" (binary_expression "(uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18" (binary_expression "(uVar17 & 0xff000000) << 8" (parenthesized_expression "(uVar17 & 0xff000000)" (( "(") (binary_expression "uVar17 & 0xff000000" (identifier "uVar17") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar17 & 0xff0000) << 0x18" (parenthesized_expression "(uVar17 & 0xff0000)" (( "(") (binary_expression "uVar17 & 0xff0000" (identifier "uVar17") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar17 & 0xff00) << 0x28" (parenthesized_expression "(uVar17 & 0xff00)" (( "(") (binary_expression "uVar17 & 0xff00" (identifier "uVar17") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "(uVar17 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar17 & 0xffffffff)" (( "(") (binary_expression "uVar17 & 0xffffffff" (identifier "uVar17") (& "&") (number_literal "0xffffffff")) () ")")) (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38;" (assignment_expression "puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38" (subscript_expression "puVar7[1]" (identifier "puVar7") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28\n                | (uVar10 & 0xffffffff) << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "(uVar10 & 0xffffffff) << 0x38" (parenthesized_expression "(uVar10 & 0xffffffff)" (( "(") (binary_expression "uVar10 & 0xffffffff" (identifier "uVar10") (& "&") (number_literal "0xffffffff")) () ")")) (<< "<<") (number_literal "0x38")))) (; ";")) (if_statement "if (iVar9 != 0) {\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar17 = 0;\n      do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);\n      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;\n    }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      } while (bVar19);" (do "do") (compound_statement "{\n        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);\n        puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;\n        bVar19 = uVar17 != iVar9 - 1;\n        uVar17 = uVar17 + 1;\n      }" ({ "{") (expression_statement "uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);" (assignment_expression "uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4)" (identifier "uVar10") (= "=") (binary_expression "(ulong)*(uint *)(lVar5 + uVar17 * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar5 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + uVar17 * 4)" (( "(") (binary_expression "lVar5 + uVar17 * 4" (identifier "lVar5") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38;" (assignment_expression "puVar7[uVar17 + 2] =\n             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38" (subscript_expression "puVar7[uVar17 + 2]" (identifier "puVar7") ([ "[") (binary_expression "uVar17 + 2" (identifier "uVar17") (+ "+") (number_literal "2")) (] "]")) (= "=") (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n             uVar10 << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "bVar19 = uVar17 != iVar9 - 1;" (assignment_expression "bVar19 = uVar17 != iVar9 - 1" (identifier "bVar19") (= "=") (binary_expression "uVar17 != iVar9 - 1" (identifier "uVar17") (!= "!=") (binary_expression "iVar9 - 1" (identifier "iVar9") (- "-") (number_literal "1")))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (expression_statement "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;" (assignment_expression "puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1" (identifier "puVar13") (= "=") (binary_expression "puVar13 + (ulong)(iVar9 - 1) + 1" (binary_expression "puVar13 + (ulong)(iVar9 - 1)" (identifier "puVar13") (+ "+") (call_expression "(ulong)(iVar9 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(iVar9 - 1)" (( "(") (binary_expression "iVar9 - 1" (identifier "iVar9") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (iVar14 == 0) {\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }\n      goto LAB_0029a7e1;\n    }" ({ "{") (if_statement "if (uVar8 != (int)puVar13 - iVar16) {\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" (if "if") (parenthesized_expression "(uVar8 != (int)puVar13 - iVar16)" (( "(") (binary_expression "uVar8 != (int)puVar13 - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "(int)puVar13 - iVar16" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (- "-") (identifier "iVar16"))) () ")")) (compound_statement "{\nLAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");\n      }" ({ "{") (labeled_statement "LAB_0029a880:\n                    \n        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (statement_identifier "LAB_0029a880") (: ":") (expression_statement "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");" (call_expression "FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (identifier "FUN_0017c650") (argument_list "("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table")" (( "(") (string_literal ""../../gold/dynobj.cc"" (" """) (string_content "../../gold/dynobj.cc") (" """)) (, ",") (number_literal "0x40e") (, ",") (string_literal ""sized_create_elf_hash_table"" (" """) (string_content "sized_create_elf_hash_table") (" """)) () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_0029a7e1;" (goto "goto") (statement_identifier "LAB_0029a7e1") (; ";")) (} "}"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    } while (bVar19);" (do "do") (compound_statement "{\n      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);\n      puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;\n      bVar19 = iVar14 - 1 != uVar17;\n      uVar17 = uVar17 + 1;\n    }" ({ "{") (expression_statement "uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);" (assignment_expression "uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4)" (identifier "uVar10") (= "=") (binary_expression "(ulong)*(uint *)(lVar6 + uVar17 * 4)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(lVar6 + uVar17 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + uVar17 * 4)" (( "(") (binary_expression "lVar6 + uVar17 * 4" (identifier "lVar6") (+ "+") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38;" (assignment_expression "puVar13[uVar17] =\n           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38" (subscript_expression "puVar13[uVar17]" (identifier "puVar13") ([ "[") (identifier "uVar17") (] "]")) (= "=") (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |\n           uVar10 << 0x38" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28" (binary_expression "(uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18" (binary_expression "(uVar10 & 0xff000000) << 8" (parenthesized_expression "(uVar10 & 0xff000000)" (( "(") (binary_expression "uVar10 & 0xff000000" (identifier "uVar10") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar10 & 0xff0000) << 0x18" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 0x28" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar10 << 0x38" (identifier "uVar10") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "bVar19 = iVar14 - 1 != uVar17;" (assignment_expression "bVar19 = iVar14 - 1 != uVar17" (identifier "bVar19") (= "=") (binary_expression "iVar14 - 1 != uVar17" (binary_expression "iVar14 - 1" (identifier "iVar14") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar17"))) (; ";")) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (if_statement "if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;" (if "if") (parenthesized_expression "(uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16)" (( "(") (binary_expression "uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16" (identifier "uVar8") (!= "!=") (binary_expression "((int)puVar13 + iVar14 * 8) - iVar16" (parenthesized_expression "((int)puVar13 + iVar14 * 8)" (( "(") (binary_expression "(int)puVar13 + iVar14 * 8" (cast_expression "(int)puVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar13")) (+ "+") (binary_expression "iVar14 * 8" (identifier "iVar14") (* "*") (number_literal "8"))) () ")")) (- "-") (identifier "iVar16"))) () ")")) (goto_statement "goto LAB_0029a880;" (goto "goto") (statement_identifier "LAB_0029a880") (; ";"))) (labeled_statement "LAB_0029a5c6:\n    *param_3 = (long)puVar7;" (statement_identifier "LAB_0029a5c6") (: ":") (expression_statement "*param_3 = (long)puVar7;" (assignment_expression "*param_3 = (long)puVar7" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (cast_expression "(long)puVar7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar7"))) (; ";"))) (expression_statement "*param_4 = uVar8;" (assignment_expression "*param_4 = uVar8" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (identifier "uVar8")) (; ";")) (} "}")))) (expression_statement "FUN_002dac60(lVar6);" (call_expression "FUN_002dac60(lVar6)" (identifier "FUN_002dac60") (argument_list "(lVar6)" (( "(") (identifier "lVar6") () ")"))) (; ";")) (labeled_statement "LAB_0029a5dd:\n  if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }" (statement_identifier "LAB_0029a5dd") (: ":") (if_statement "if (lVar5 != 0) {\n    FUN_002dac60(lVar5);\n  }" (if "if") (parenthesized_expression "(lVar5 != 0)" (( "(") (binary_expression "lVar5 != 0" (identifier "lVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_002dac60(lVar5);\n  }" ({ "{") (expression_statement "FUN_002dac60(lVar5);" (call_expression "FUN_002dac60(lVar5)" (identifier "FUN_002dac60") (argument_list "(lVar5)" (( "(") (identifier "lVar5") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_58 != 0) {\n    FUN_002dac60();\n  }" (if "if") (parenthesized_expression "(local_58 != 0)" (( "(") (binary_expression "local_58 != 0" (identifier "local_58") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_002dac60();\n  }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */

void var_5::Dynobj::function_1
               (type_1<var_5::var_11*,type_2::var_1<var_5::var_11*>var_3> *dynsyms,type_3 var_16,
               type_4 **pphash,type_3 *phashlen)

{
  type_3 *puVar1;
  type_5 puVar2;
  type_6 var_12;
  char var_23;
  type_3 var_25;
  type_5 ppSVar6;
  void *var_30;
  void *var_26;
  type_7 *var_22;
  type_3 var_14;
  int var_20;
  type_7 var_9;
  type_3 var_18;
  type_6 *var_13;
  type_7 *var_27;
  int var_28;
  type_3 var_24;
  int var_10;
  type_7 var_7;
  type_7 var_17;
  bool bVar21;
  void *local_78;
  void *local_70;
  type_1<var_2,type_2::var_1<var_2>var_3> var_4;
  
  var_7 = (long)(dynsyms->super__Vector_base<var_5::var_11*,type_2::var_1<var_5::var_11*>var_3>var_6).
                 _M_impl._M_finish -
           (long)(dynsyms->super__Vector_base<var_5::var_11*,type_2::var_1<var_5::var_11*>var_3>var_6).
                 _M_impl._M_start >> 3;
  var_10 = (int)var_7;
  var_7 = var_7 & 0xffffffff;
  puVar2 = (type_5)(var_7 * 4);
  var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl._M_start =
       (type_5)0x0;
  var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl._M_finish
       = (type_5)0x0;
  var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
  _M_end_of_storage = (type_5)0x0;
  if (var_7 == 0) {
    var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
    _M_finish = (type_5)0x0;
    var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
    _M_end_of_storage = puVar2;
  }
  else {
    var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl._M_start
         = (type_5)var_8((type_7)puVar2);
    var_9 = 0;
    var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
    _M_finish = (type_5)((long)puVar2 +
                         (long)var_4.
                               super__Vector_base<var_2,type_2::var_1<var_2>var_3>.
                               _M_impl._M_start);
    do {
      var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
      _M_start[var_9] = 0;
      var_9 = var_9 + 1;
      var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
      _M_end_of_storage =
           var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
           _M_finish;
    } while (var_7 != var_9);
  }
  if (var_10 != 0) {
    ppSVar6 = (dynsyms->super__Vector_base<var_5::var_11*var_6,type_2::var_1<var_5::var_11*>var_3>var_6)._M_impl.
              _M_start;
    var_7 = 0;
    do {
      var_13 = (type_6 *)ppSVar6[var_7]->name_;
      var_14 = 0;
      while (var_12 = *var_13, var_12 != 0) {
        while( true ) {
          var_13 = var_13 + 1;
          var_14 = var_14 * 0x10 + (type_3)var_12;
          if ((var_14 & 0xf0000000) == 0) break;
          var_14 = var_14 & 0xfffffff ^ (var_14 & 0xf0000000) >> 0x18;
          var_12 = *var_13;
          if (var_12 == 0) goto LAB_0029a3ca;
        }
      }
LAB_0029a3ca:
      var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
      _M_start[var_7] = var_14;
      bVar21 = var_10 - 1 != var_7;
      var_7 = var_7 + 1;
    } while (bVar21);
  }
                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */
  var_14 = var_15(&var_4,false);
  var_7 = (type_7)var_14;
  if (var_7 == 0) {
    local_70 = (void *)0x0;
    var_30 = (void *)0x0;
  }
  else {
    var_30 = var_8(var_7 * 4);
    var_9 = 0;
    do {
      *(type_8 *)((long)var_30 + var_9 * 4) = 0;
      var_9 = var_9 + 1;
    } while (var_7 != var_9);
    local_70 = (void *)((long)var_30 + var_7 * 4);
  }
  if (var_16 + var_10 == 0) {
    local_78 = (void *)0x0;
    var_26 = (void *)0x0;
  }
  else {
    var_17 = (type_7)(var_16 + var_10);
                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */
    var_26 = var_8(var_17 * 4);
    var_9 = 0;
    do {
      *(type_8 *)((long)var_26 + var_9 * 4) = 0;
      var_9 = var_9 + 1;
    } while (var_17 != var_9);
    local_78 = (void *)((long)var_26 + var_17 * 4);
  }
  if (var_10 != 0) {
    ppSVar6 = (dynsyms->super__Vector_base<var_5::var_11*var_6,type_2::var_1<var_5::var_11*>var_3>var_6)._M_impl.
              _M_start;
    var_18 = (*ppSVar6)->dynsym_index_;
    if (var_18 != 0) {
      var_9 = 0;
      do {
        puVar1 = (type_3 *)((long)var_30 +
                         ((type_7)var_4.
                                 super__Vector_base<var_2,type_2::var_1<var_2>var_3>.
                                 _M_impl._M_start[var_9] % var_7) * 4);
        *(type_3 *)((long)var_26 + (type_7)var_18 * 4) = *puVar1;
        *puVar1 = var_18;
        if (var_9 == var_10 - 1) goto LAB_0029a4bf;
        var_9 = var_9 + 1;
        var_18 = ppSVar6[var_9]->dynsym_index_;
      } while (var_18 != 0);
    }
                    /* WARNING: Subroutine does not return */
    var_19("../../gold/symtab.h",0x19a,"dynsym_index");
  }
LAB_0029a4bf:
  if (parameters->target_ == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_19("../../gold/parameters.h",0x69,"target");
  }
  var_20 = *(int *)(*(long *)(parameters->target_ + 8) + 0x78);
  var_14 = (var_14 + var_16 + 2 + var_10) * var_20 >> 3;
                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */
  var_22 = (type_7 *)var_21((type_7)var_14);
  if (parameters->target_ == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_19("../../gold/parameters.h",0x69,"target");
  }
  var_23 = *(char *)(*(long *)(parameters->target_ + 8) + 4);
  var_10 = (int)var_22;
  if (var_20 == 0x20) {
    var_27 = var_22 + 1;
    var_18 = (type_3)((long)local_70 - (long)var_30 >> 2);
    var_24 = (type_3)((long)local_78 - (long)var_26 >> 2);
    if (var_23 == '\0') {
      *(type_3 *)var_22 = var_18;
      *(type_3 *)((long)var_22 + 4) = var_24;
      if (var_18 != 0) {
        var_7 = 0;
        do {
          *(type_8 *)((long)var_22 + var_7 * 4 + 8) =
               *(type_8 *)((long)var_30 + var_7 * 4);
          bVar21 = var_18 - 1 != var_7;
          var_7 = var_7 + 1;
        } while (bVar21);
        var_27 = (type_7 *)((long)var_27 + ((type_7)(var_18 - 1) + 1) * 4);
      }
      if (var_24 != 0) {
        var_7 = 0;
        do {
          *(type_3 *)((long)var_27 + var_7 * 4) = *(type_3 *)((long)var_26 + var_7 * 4);
          bVar21 = var_24 - 1 != var_7;
          var_7 = var_7 + 1;
        } while (bVar21);
        if (var_14 != ((int)var_27 + var_24 * 4) - var_10) {
LAB_0029a817:
                    /* WARNING: Subroutine does not return */
          var_19("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (var_14 != (int)var_27 - var_10) goto LAB_0029a817;
    }
    else {
      *(type_3 *)var_22 =
           var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 | var_18 << 0x18;
      *(type_3 *)((long)var_22 + 4) =
           var_24 >> 0x18 | (var_24 & 0xff0000) >> 8 | (var_24 & 0xff00) << 8 | var_24 << 0x18;
      if (var_18 != 0) {
        var_7 = 0;
        do {
          var_25 = *(type_3 *)((long)var_30 + var_7 * 4);
          *(type_3 *)((long)var_22 + var_7 * 4 + 8) =
               var_25 >> 0x18 | (var_25 & 0xff0000) >> 8 | (var_25 & 0xff00) << 8 | var_25 << 0x18;
          bVar21 = var_18 - 1 != var_7;
          var_7 = var_7 + 1;
        } while (bVar21);
        var_27 = (type_7 *)((long)var_27 + ((type_7)(var_18 - 1) + 1) * 4);
      }
      if (var_24 != 0) {
        var_7 = 0;
        do {
          var_18 = *(type_3 *)((long)var_26 + var_7 * 4);
          *(type_3 *)((long)var_27 + var_7 * 4) =
               var_18 >> 0x18 | (var_18 & 0xff0000) >> 8 | (var_18 & 0xff00) << 8 | var_18 << 0x18;
          bVar21 = var_24 - 1 != var_7;
          var_7 = var_7 + 1;
        } while (bVar21);
        if (var_14 != ((int)var_27 + var_24 * 4) - var_10) {
LAB_0029a837:
                    /* WARNING: Subroutine does not return */
          var_19("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (var_14 != (int)var_27 - var_10) goto LAB_0029a837;
    }
LAB_0029a7e1:
    *pphash = (type_4 *)var_22;
    *phashlen = var_14;
    if (var_26 == (void *)0x0) goto LAB_0029a5dd;
  }
  else {
    if (var_20 != 0x40) {
                    /* WARNING: Subroutine does not return */
      var_19("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");
    }
    var_27 = var_22 + 2;
    var_7 = (long)local_70 - (long)var_30 >> 2;
    var_9 = (long)local_78 - (long)var_26 >> 2;
    var_20 = (int)var_7;
    var_28 = (int)var_9;
    if (var_23 == '\0') {
      *var_22 = var_7 & 0xffffffff;
      var_22[1] = var_9 & 0xffffffff;
      if (var_20 != 0) {
        var_7 = 0;
        do {
          var_22[var_7 + 2] = (type_7)*(type_3 *)((long)var_30 + var_7 * 4);
          bVar21 = var_20 - 1 != var_7;
          var_7 = var_7 + 1;
        } while (bVar21);
        var_27 = var_27 + (type_7)(var_20 - 1) + 1;
      }
      if (var_28 != 0) {
        var_7 = 0;
        do {
          var_27[var_7] = (type_7)*(type_3 *)((long)var_26 + var_7 * 4);
          bVar21 = var_28 - 1 != var_7;
          var_7 = var_7 + 1;
        } while (bVar21);
        if (var_14 != ((int)var_27 + var_28 * 8) - var_10) {
LAB_0029a673:
                    /* WARNING: Subroutine does not return */
          var_19("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (var_14 != (int)var_27 - var_10) goto LAB_0029a673;
      goto LAB_0029a7e1;
    }
    *var_22 = (var_7 & 0xff000000) << 8 | (var_7 & 0xff0000) << 0x18 | (var_7 & 0xff00) << 0x28 |
              (var_7 & 0xffffffff) << 0x38;
    var_22[1] = (var_9 & 0xff000000) << 8 | (var_9 & 0xff0000) << 0x18 | (var_9 & 0xff00) << 0x28
                | (var_9 & 0xffffffff) << 0x38;
    if (var_20 != 0) {
      var_7 = 0;
      do {
        var_9 = (type_7)*(type_3 *)((long)var_30 + var_7 * 4);
        var_22[var_7 + 2] =
             (var_9 & 0xff000000) << 8 | (var_9 & 0xff0000) << 0x18 | (var_9 & 0xff00) << 0x28 |
             var_9 << 0x38;
        bVar21 = var_7 != var_20 - 1;
        var_7 = var_7 + 1;
      } while (bVar21);
      var_27 = var_27 + (type_7)(var_20 - 1) + 1;
    }
    if (var_28 == 0) {
      if (var_14 != (int)var_27 - var_10) {
LAB_0029a880:
                    /* WARNING: Subroutine does not return */
        var_19("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
      }
      goto LAB_0029a7e1;
    }
    var_7 = 0;
    do {
      var_9 = (type_7)*(type_3 *)((long)var_26 + var_7 * 4);
      var_27[var_7] =
           (var_9 & 0xff000000) << 8 | (var_9 & 0xff0000) << 0x18 | (var_9 & 0xff00) << 0x28 |
           var_9 << 0x38;
      bVar21 = var_28 - 1 != var_7;
      var_7 = var_7 + 1;
    } while (bVar21);
    if (var_14 != ((int)var_27 + var_28 * 8) - var_10) goto LAB_0029a880;
LAB_0029a5c6:
    *pphash = (type_4 *)var_22;
    *phashlen = var_14;
  }
  var_29(var_26);
LAB_0029a5dd:
  if (var_30 != (void *)0x0) {
    var_29(var_30);
  }
  if (var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>._M_impl.
      _M_start != (type_5)0x0) {
    var_29(var_4.super__Vector_base<var_2,type_2::var_1<var_2>var_3>.
                    _M_impl._M_start);
  }
  return;
}


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

void MASKED(long *param_1,int param_2,long *param_3,uint *param_4)

{
  uint *puVar1;
  byte bVar2;
  char cVar3;
  uint uVar4;
  long lVar5;
  long lVar6;
  ulong *puVar7;
  uint uVar8;
  int iVar9;
  ulong uVar10;
  uint uVar11;
  byte *pbVar12;
  ulong *puVar13;
  int iVar14;
  uint uVar15;
  int iVar16;
  ulong uVar17;
  ulong uVar18;
  bool bVar19;
  long local_78;
  long local_70;
  long local_58;
  long local_50;
  long local_48;
  
  uVar17 = param_1[1] - *param_1 >> 3;
  iVar16 = (int)uVar17;
  uVar17 = uVar17 & 0xffffffff;
  local_58 = 0;
  local_50 = 0;
  local_48 = 0;
  if (uVar17 == 0) {
    local_50 = 0;
    local_48 = uVar17 * 4;
  }
  else {
    local_58 = FUN_002d9490();
    uVar10 = 0;
    local_50 = uVar17 * 4 + local_58;
    do {
      *(undefined4 *)(local_58 + uVar10 * 4) = 0;
      uVar10 = uVar10 + 1;
      local_48 = local_50;
    } while (uVar17 != uVar10);
  }
  if (iVar16 != 0) {
    lVar5 = *param_1;
    uVar17 = 0;
    do {
      pbVar12 = (byte *)**(undefined8 **)(lVar5 + uVar17 * 8);
      uVar8 = 0;
      while (bVar2 = *pbVar12, bVar2 != 0) {
        while( true ) {
          pbVar12 = pbVar12 + 1;
          uVar8 = uVar8 * 0x10 + (uint)bVar2;
          if ((uVar8 & 0xf0000000) == 0) break;
          uVar8 = uVar8 & 0xfffffff ^ (uVar8 & 0xf0000000) >> 0x18;
          bVar2 = *pbVar12;
          if (bVar2 == 0) goto LAB_0029a3ca;
        }
      }
LAB_0029a3ca:
      *(uint *)(local_58 + uVar17 * 4) = uVar8;
      bVar19 = iVar16 - 1 != uVar17;
      uVar17 = uVar17 + 1;
    } while (bVar19);
  }
                    /* try { // try from 0029a3e7 to 0029a407 has its CatchHandler @ 0029a8c8 */
  uVar8 = FUN_0029a200(&local_58,0);
  uVar17 = (ulong)uVar8;
  if (uVar17 == 0) {
    local_70 = 0;
    lVar5 = 0;
  }
  else {
    lVar5 = FUN_002d9490(uVar17 * 4);
    uVar10 = 0;
    do {
      *(undefined4 *)(lVar5 + uVar10 * 4) = 0;
      uVar10 = uVar10 + 1;
    } while (uVar17 != uVar10);
    local_70 = lVar5 + uVar17 * 4;
  }
  if (param_2 + iVar16 == 0) {
    local_78 = 0;
    lVar6 = 0;
  }
  else {
    uVar18 = (ulong)(uint)(param_2 + iVar16);
                    /* try { // try from 0029a442 to 0029a446 has its CatchHandler @ 0029a8d0 */
    lVar6 = FUN_002d9490(uVar18 * 4);
    uVar10 = 0;
    do {
      *(undefined4 *)(lVar6 + uVar10 * 4) = 0;
      uVar10 = uVar10 + 1;
    } while (uVar18 != uVar10);
    local_78 = lVar6 + uVar18 * 4;
  }
  if (iVar16 != 0) {
    param_1 = (long *)*param_1;
    uVar11 = *(uint *)(*param_1 + 0x20);
    if (uVar11 != 0) {
      uVar10 = 0;
      do {
        puVar1 = (uint *)(lVar5 + ((ulong)*(uint *)(local_58 + uVar10 * 4) % uVar17) * 4);
        *(uint *)(lVar6 + (ulong)uVar11 * 4) = *puVar1;
        *puVar1 = uVar11;
        if (uVar10 == iVar16 - 1) goto LAB_0029a4bf;
        uVar10 = uVar10 + 1;
        uVar11 = *(uint *)(param_1[uVar10] + 0x20);
      } while (uVar11 != 0);
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/symtab.h",0x19a,"dynsym_index");
  }
LAB_0029a4bf:
  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  iVar9 = *(int *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 0x78);
  uVar8 = (uVar8 + param_2 + 2 + iVar16) * iVar9 >> 3;
                    /* try { // try from 0029a4ef to 0029a8c7 has its CatchHandler @ 0029a8d8 */
  puVar7 = (ulong *)thunk_FUN_002d9490(uVar8);
  if (*(long *)(PTR_DAT_0043e6b0 + 0x18) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/parameters.h",0x69,"target");
  }
  cVar3 = *(char *)(*(long *)(*(long *)(PTR_DAT_0043e6b0 + 0x18) + 8) + 4);
  iVar16 = (int)puVar7;
  if (iVar9 == 0x20) {
    puVar13 = puVar7 + 1;
    uVar11 = (uint)(local_70 - lVar5 >> 2);
    uVar15 = (uint)(local_78 - lVar6 >> 2);
    if (cVar3 == '\0') {
      *(uint *)puVar7 = uVar11;
      *(uint *)((long)puVar7 + 4) = uVar15;
      if (uVar11 != 0) {
        uVar17 = 0;
        do {
          *(undefined4 *)((long)puVar7 + uVar17 * 4 + 8) = *(undefined4 *)(lVar5 + uVar17 * 4);
          bVar19 = uVar11 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);
      }
      if (uVar15 != 0) {
        uVar17 = 0;
        do {
          *(uint *)((long)puVar13 + uVar17 * 4) = *(uint *)(lVar6 + uVar17 * 4);
          bVar19 = uVar15 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {
LAB_0029a817:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a817;
    }
    else {
      *(uint *)puVar7 =
           uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;
      *(uint *)((long)puVar7 + 4) =
           uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
      if (uVar11 != 0) {
        uVar17 = 0;
        do {
          uVar4 = *(uint *)(lVar5 + uVar17 * 4);
          *(uint *)((long)puVar7 + uVar17 * 4 + 8) =
               uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
          bVar19 = uVar11 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        puVar13 = (ulong *)((long)puVar13 + ((ulong)(uVar11 - 1) + 1) * 4);
      }
      if (uVar15 != 0) {
        uVar17 = 0;
        do {
          uVar11 = *(uint *)(lVar6 + uVar17 * 4);
          *(uint *)((long)puVar13 + uVar17 * 4) =
               uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18;
          bVar19 = uVar15 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        if (uVar8 != ((int)puVar13 + uVar15 * 4) - iVar16) {
LAB_0029a837:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a837;
    }
LAB_0029a7e1:
    *param_3 = (long)puVar7;
    *param_4 = uVar8;
    if (lVar6 == 0) goto LAB_0029a5dd;
  }
  else {
    if (iVar9 != 0x40) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/dynobj.cc",0x3e9,"create_elf_hash_table");
    }
    puVar13 = puVar7 + 2;
    uVar17 = local_70 - lVar5 >> 2;
    uVar10 = local_78 - lVar6 >> 2;
    iVar9 = (int)uVar17;
    iVar14 = (int)uVar10;
    if (cVar3 == '\0') {
      *puVar7 = uVar17 & 0xffffffff;
      puVar7[1] = uVar10 & 0xffffffff;
      if (iVar9 != 0) {
        uVar17 = 0;
        do {
          puVar7[uVar17 + 2] = (ulong)*(uint *)(lVar5 + uVar17 * 4);
          bVar19 = iVar9 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;
      }
      if (iVar14 != 0) {
        uVar17 = 0;
        do {
          puVar13[uVar17] = (ulong)*(uint *)(lVar6 + uVar17 * 4);
          bVar19 = iVar14 - 1 != uVar17;
          uVar17 = uVar17 + 1;
        } while (bVar19);
        if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) {
LAB_0029a673:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
        }
        goto LAB_0029a5c6;
      }
      if (uVar8 != (int)puVar13 - iVar16) goto LAB_0029a673;
      goto LAB_0029a7e1;
    }
    *puVar7 = (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 | (uVar17 & 0xff00) << 0x28 |
              (uVar17 & 0xffffffff) << 0x38;
    puVar7[1] = (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28
                | (uVar10 & 0xffffffff) << 0x38;
    if (iVar9 != 0) {
      uVar17 = 0;
      do {
        uVar10 = (ulong)*(uint *)(lVar5 + uVar17 * 4);
        puVar7[uVar17 + 2] =
             (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |
             uVar10 << 0x38;
        bVar19 = uVar17 != iVar9 - 1;
        uVar17 = uVar17 + 1;
      } while (bVar19);
      puVar13 = puVar13 + (ulong)(iVar9 - 1) + 1;
    }
    if (iVar14 == 0) {
      if (uVar8 != (int)puVar13 - iVar16) {
LAB_0029a880:
                    /* WARNING: Subroutine does not return */
        FUN_0017c650("../../gold/dynobj.cc",0x40e,"sized_create_elf_hash_table");
      }
      goto LAB_0029a7e1;
    }
    uVar17 = 0;
    do {
      uVar10 = (ulong)*(uint *)(lVar6 + uVar17 * 4);
      puVar13[uVar17] =
           (uVar10 & 0xff000000) << 8 | (uVar10 & 0xff0000) << 0x18 | (uVar10 & 0xff00) << 0x28 |
           uVar10 << 0x38;
      bVar19 = iVar14 - 1 != uVar17;
      uVar17 = uVar17 + 1;
    } while (bVar19);
    if (uVar8 != ((int)puVar13 + iVar14 * 8) - iVar16) goto LAB_0029a880;
LAB_0029a5c6:
    *param_3 = (long)puVar7;
    *param_4 = uVar8;
  }
  FUN_002dac60(lVar6);
LAB_0029a5dd:
  if (lVar5 != 0) {
    FUN_002dac60(lVar5);
  }
  if (local_58 != 0) {
    FUN_002dac60();
  }
  return;
}

