
/* WARNING: Type propagation algorithm not settling */
/* DWARF original prototype: uchar * write_info_blocks(Output_section_incremental_inputs<64,_true> *
   this, uchar * oview, uchar * pov, Stringpool * strtab, uint * global_syms, uint global_sym_count)
    */

uchar * __thiscall
gold::Output_section_incremental_inputs<64,_true>::write_info_blocks
          (Output_section_incremental_inputs<64,_true> *this,uchar *oview,uchar *pov,
          Stringpool *strtab,uint *global_syms,uint global_sym_count)

{
  byte bVar1;
  uint uVar2;
  uint uVar3;
  Incremental_inputs *pIVar4;
  Object *pOVar5;
  long lVar6;
  pointer pvVar7;
  long lVar8;
  long lVar9;
  bool bVar10;
  int iVar11;
  int iVar12;
  int iVar13;
  uint uVar14;
  uint uVar15;
  uint uVar16;
  undefined4 extraout_var;
  ulong uVar17;
  undefined4 extraout_var_00;
  undefined4 extraout_var_01;
  undefined4 extraout_var_02;
  long lVar19;
  Dynobj *pDVar20;
  undefined4 extraout_var_03;
  undefined4 extraout_var_04;
  undefined4 extraout_var_05;
  void *__s;
  uint extraout_var_06;
  uint *puVar21;
  Symbol *pSVar22;
  _func_int_varargs *p_Var23;
  ulong uVar24;
  ulong *puVar25;
  uint *puVar26;
  uint uVar27;
  uint uVar28;
  uint uVar29;
  long lVar30;
  pointer local_88;
  uint local_68;
  long *plVar18;
  undefined4 extraout_var_07;
  
  pIVar4 = this->inputs_;
  uVar2 = this->symtab_->first_global_index_;
  local_88 = (pIVar4->inputs_).
             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
             ._M_impl._M_start;
  if ((pIVar4->inputs_).
      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
      ._M_impl._M_finish == local_88) {
    return (uchar *)(uint *)pov;
  }
LAB_0019f550:
  iVar11 = (*(*local_88)->_vptr_Incremental_input_entry[2])();
  iVar12 = (int)pov;
  iVar13 = (int)oview;
  switch(iVar11) {
  default:
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");
  case 1:
  case 2:
    if ((*local_88)->info_offset_ != iVar12 - iVar13) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");
    }
    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();
    lVar30 = CONCAT44(extraout_var_04,iVar12);
    if (lVar30 == 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");
    }
    pOVar5 = *(Object **)(lVar30 + 0x38);
    iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);
    plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);
    iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);
    uVar29 = iVar12 * -0x55555555;
    lVar19 = plVar18[1];
    lVar6 = *plVar18;
    p_Var23 = pOVar5->_vptr_Object[0x25];
    if (p_Var23 == Relobj::local_symbol_offset) {
      uVar27 = (*pOVar5->_vptr_Object[0x31])();
    }
    else {
      uVar27 = (*p_Var23)(pOVar5);
    }
    p_Var23 = pOVar5->_vptr_Object[0x24];
    if (p_Var23 == Relobj::output_local_symbol_count) {
      uVar14 = (*pOVar5->_vptr_Object[0x30])();
    }
    else {
      uVar14 = (*p_Var23)(pOVar5);
    }
    uVar16 = *(uint *)&pOVar5[2]._vptr_Object;
    uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);
    uVar28 = 0;
    lVar8 = *(long *)(lVar30 + 0x68);
    lVar9 = *(long *)(lVar30 + 0x60);
    *(uint *)((long)pov + 0xc) =
         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;
    *(uint *)((long)pov + 0x10) =
         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                   iVar12 * -0x55000000;
    local_68 = (uint)(lVar19 - lVar6 >> 3);
    *(uint *)((long)pov + 0x14) =
         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;
    *(uint *)((long)pov + 8) =
         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    uVar27 = (uint)(lVar8 - lVar9 >> 3);
    puVar26 = (uint *)((long)pov + 0x20);
    *(uint *)((long)pov + 4) =
         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18
    ;
    *(uint *)((long)pov + 0x18) =
         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    *(uint *)((long)pov + 0x1c) = 0;
    __s = operator_new__((ulong)pOVar5->shnum_ << 2);
    memset(__s,0,(ulong)pOVar5->shnum_ << 2);
    puVar21 = puVar26;
    if (uVar29 != 0) {
      do {
        uVar28 = uVar28 + 1;
        uVar16 = 0;
        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));
        uVar14 = *puVar21;
        uVar17 = (ulong)uVar14;
        uVar24 = *(ulong *)(puVar21 + 2);
        *(uint *)((long)__s + uVar17 * 4) = uVar28;
        if (uVar24 != 0) {
          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;
          uVar16 = (uint)*(undefined8 *)
                          ((long)(strtab->key_to_offset_).chunks_.
                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>
                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].
                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.
                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);
        }
        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {
          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=
              uVar17) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
          }
          p_Var23 = pOVar5[1]._vptr_Object[uVar17];
        }
        else {
          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);
          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);
        }
        if (p_Var23 == (_func_int_varargs *)0x0) {
          uVar14 = 0;
          uVar24 = 0;
          uVar17 = 0;
        }
        else {
          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {
            uVar15 = *(uint *)(p_Var23 + 0x7c);
            if (uVar15 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");
            }
          }
          else {
            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);
          }
          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);
          uVar24 = (ulong)(extraout_var_06 >> 0x18) |
                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |
                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |
                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |
                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |
                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;
          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))
          ;
          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                   uVar15 << 0x18;
          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |
                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |
                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |
                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;
        }
        puVar26[1] = uVar14;
        puVar21 = puVar26 + 6;
        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                   uVar16 << 0x18;
        *(ulong *)(puVar26 + 2) = uVar24;
        *(ulong *)(puVar26 + 4) = uVar17;
        puVar26 = puVar21;
      } while (uVar28 != uVar29);
    }
    if (local_68 != 0) {
      puVar26 = puVar21;
      uVar24 = 0;
      do {
        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);
        if ((pSVar22->field_0x3a & 0x10) != 0) {
          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);
        }
        if ((pSVar22->field_0x3a & 7) == 0) {
          if (pOVar5 == (pSVar22->u1_).object) {
            uVar29 = (pSVar22->u2_).shndx;
            if ((pSVar22->field_0x3b & 0x20) == 0) {
              bVar10 = Symbol::is_common_shndx(uVar29);
              if (!bVar10) {
                if ((pSVar22->field_0x3a & 7) != 0) {
                    /* WARNING: Subroutine does not return */
                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");
                }
                uVar29 = (pSVar22->u2_).shndx;
                if ((pSVar22->field_0x3b & 0x20) == 0) {
                  uVar29 = 1;
                  goto LAB_0019fc56;
                }
                goto LAB_0019fd71;
              }
            }
            else if (uVar29 != 0) {
LAB_0019fd71:
              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);
              goto LAB_0019fc56;
            }
          }
LAB_0019fd3a:
          uVar14 = pSVar22->symtab_index_;
          uVar29 = 0;
        }
        else {
          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;
          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);
LAB_0019fc56:
          uVar14 = pSVar22->symtab_index_;
        }
        if (uVar14 == 0) {
LAB_0019fd47:
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");
        }
        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {
          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];
        }
        else {
          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);
        }
        if (uVar16 == 0) {
          uVar28 = 0;
          uVar15 = 0;
        }
        else {
          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");
          }
          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {
            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +
                             uVar24 * 4);
          }
          else {
            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);
          }
          uVar15 = iVar12 * 0x18;
          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |
                   iVar12 * 0x18000000;
          uVar3 = global_syms[uVar28];
          global_syms[uVar28] = (int)puVar26 - iVar13;
          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;
        }
        puVar26[4] = uVar15;
        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                   uVar14 << 0x18;
        puVar21 = puVar26 + 5;
        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                     uVar29 << 0x18;
        puVar26[2] = uVar28;
        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                     uVar16 << 0x18;
        bVar10 = local_68 - 1 != uVar24;
        puVar26 = puVar21;
        uVar24 = uVar24 + 1;
      } while (bVar10);
    }
    if (uVar27 == 0) {
      operator_delete__(__s);
      pov = (uchar *)puVar21;
    }
    else {
      puVar25 = *(ulong **)(lVar30 + 0x60);
      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);
      do {
        while (uVar24 = *puVar25, uVar24 != 0) {
          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;
          puVar26 = puVar21 + 1;
          puVar25 = puVar25 + 1;
          uVar29 = (uint)*(undefined8 *)
                          ((long)(strtab->key_to_offset_).chunks_.
                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>
                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].
                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.
                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);
          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                     uVar29 << 0x18;
          puVar21 = puVar26;
          if (puVar26 == (uint *)pov) goto LAB_0019fed8;
        }
        *puVar21 = 0;
        puVar21 = puVar21 + 1;
        puVar25 = puVar25 + 1;
      } while (puVar21 != (uint *)pov);
LAB_0019fed8:
      operator_delete__(__s);
    }
    break;
  case 3:
    if ((*local_88)->info_offset_ != iVar12 - iVar13) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");
    }
    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();
    lVar30 = CONCAT44(extraout_var_03,iVar12);
    if (lVar30 == 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");
    }
    lVar19 = *(long *)(lVar30 + 0x38);
    puVar26 = (uint *)((long)pov + 8);
    puVar25 = *(ulong **)(lVar30 + 0x50);
    lVar6 = *(long *)(lVar30 + 0x58);
    uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);
    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                   uVar29 << 0x18;
    uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);
    *(uint *)((long)pov + 4) =
         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    if (uVar29 != 0) {
      uVar24 = 0;
      do {
        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);
        *(uint *)((long)pov + (uVar24 + 2) * 4) =
             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;
        bVar10 = uVar29 - 1 != uVar24;
        uVar24 = uVar24 + 1;
      } while (bVar10);
      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;
    }
    pov = (uchar *)puVar26;
    if (uVar27 != 0) {
      uVar24 = *puVar25;
      uVar17 = (strtab->key_to_offset_).size_;
      if (uVar17 < uVar24) goto LAB_0019ff72;
      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);
      pvVar7 = (strtab->key_to_offset_).chunks_.
               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>
               ._M_impl._M_start;
      while( true ) {
        puVar25 = puVar25 + 1;
        uVar29 = (uint)*(undefined8 *)
                        ((long)pvVar7[uVar24 - 1 >> 0xd].
                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.
                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);
        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                   uVar29 << 0x18;
        if (puVar26 + 1 == (uint *)pov) break;
        uVar24 = *puVar25;
        puVar26 = puVar26 + 1;
        if (uVar17 < uVar24) goto LAB_0019ff72;
      }
    }
    break;
  case 4:
    if ((*local_88)->info_offset_ != iVar12 - iVar13) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");
    }
    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();
    lVar30 = CONCAT44(extraout_var_00,iVar12);
    if (lVar30 == 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");
    }
    pOVar5 = *(Object **)(lVar30 + 0x40);
    iVar12 = (*pOVar5->_vptr_Object[4])();
    if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");
    }
    iVar13 = (*pOVar5->_vptr_Object[0x1d])();
    plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);
    if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {
LAB_0019ff72:
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");
    }
    uVar24 = *(ulong *)(lVar30 + 0x38) - 1;
    puVar26 = (uint *)((long)pov + 8);
    lVar30 = plVar18[1];
    uVar29 = (uint)*(undefined8 *)
                    ((long)(strtab->key_to_offset_).chunks_.
                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>
                           ._M_impl._M_start[uVar24 >> 0xd].
                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start
                    + (ulong)((uint)uVar24 & 0x1fff) * 8);
    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                   uVar29 << 0x18;
    lVar19 = *plVar18;
    uVar29 = (uint)(lVar30 - lVar19 >> 3);
    if (uVar29 != 0) {
      lVar30 = 0;
      uVar27 = 0;
      puVar21 = puVar26;
      do {
        pSVar22 = *(Symbol **)(lVar19 + lVar30);
        puVar26 = puVar21;
        if (pSVar22 != (Symbol *)0x0) {
          if ((pSVar22->field_0x3a & 0x10) != 0) {
            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);
          }
          uVar14 = pSVar22->symtab_index_;
          if (uVar14 == 0) goto LAB_0019fd47;
          if (uVar14 != 0xffffffff) {
            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {
              uVar14 = uVar14 | 0x80000000;
            }
            else {
              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {
                bVar1 = pSVar22->field_0x3b;
                if ((bVar1 & 0x20) != 0) {
                  uVar14 = uVar14 | 0x80000000;
                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;
LAB_0019ff09:
                  if ((bVar1 & 8) != 0) goto LAB_0019f792;
                  goto LAB_0019f7ae;
                }
                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);
                uVar14 = 0x80000000;
                if (bVar10) {
                  bVar1 = pSVar22->field_0x3b;
                  goto LAB_0019ff09;
                }
              }
              else {
                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;
LAB_0019f792:
                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);
                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {
                  uVar14 = 0xc0000000;
                }
                else {
LAB_0019f7ae:
                  uVar14 = 0;
                }
              }
              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;
              uVar14 = pSVar22->symtab_index_ | uVar14;
            }
LAB_0019f725:
            puVar26 = puVar21 + 1;
            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |
                       uVar14 << 0x18;
            uVar27 = uVar27 + 1;
          }
        }
        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;
        lVar19 = *plVar18;
        lVar30 = lVar30 + 8;
        puVar21 = puVar26;
      } while( true );
    }
    goto LAB_0019fe3e;
  case 5:
    if ((*local_88)->info_offset_ != iVar12 - iVar13) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");
    }
    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();
    lVar30 = CONCAT44(extraout_var,iVar12);
    if (lVar30 == 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");
    }
    lVar19 = *(long *)(lVar30 + 0x38);
    puVar26 = (uint *)((long)pov + 4);
    uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;
    uVar29 = (uint)uVar24;
    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |
                   uVar29 << 0x18;
    pov = (uchar *)puVar26;
    if (uVar29 != 0) {
      uVar17 = 0;
      while( true ) {
        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);
        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                   uVar27 << 0x18;
        pov = (uchar *)(puVar26 + 1);
        if (uVar29 - 1 == uVar17) break;
        uVar17 = uVar17 + 1;
        puVar26 = puVar26 + 1;
        if (uVar24 == uVar17) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");
        }
      }
    }
  }
  goto LAB_0019f5f4;
LAB_0019fe30:
  uVar29 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
LAB_0019fe3e:
  *(uint *)((long)pov + 4) = uVar29;
  pov = (uchar *)puVar26;
LAB_0019f5f4:
  if (((long)pov - (long)oview & 4U) != 0) {
    *(uint *)pov = 0;
    pov = (uchar *)((long)pov + 4);
  }
  local_88 = local_88 + 1;
  if ((pIVar4->inputs_).
      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>
      ._M_impl._M_finish == local_88) {
    return pov;
  }
  goto LAB_0019f550;
}



uint * FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)

{
  byte bVar1;
  int iVar2;
  long *plVar3;
  long *plVar4;
  code *pcVar5;
  long lVar6;
  int iVar7;
  char cVar8;
  undefined4 uVar9;
  uint uVar10;
  uint uVar11;
  int iVar12;
  long lVar13;
  ulong uVar14;
  long lVar15;
  long *plVar16;
  long lVar17;
  void *__s;
  uint *puVar18;
  long lVar19;
  long *plVar20;
  ulong uVar21;
  ulong *puVar22;
  uint *puVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  bool bVar28;
  long *local_88;
  uint local_68;
  
  plVar3 = *(long **)(param_1 + 0x38);
  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);
  local_88 = (long *)*plVar3;
  if ((long *)plVar3[1] == local_88) {
    return param_3;
  }
LAB_0019f550:
  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();
  iVar12 = (int)param_3;
  iVar7 = (int)param_2;
  switch(uVar9) {
  default:
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");
  case 1:
  case 2:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");
    }
    plVar4 = *(long **)(lVar13 + 0x38);
    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);
    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);
    uVar27 = iVar12 * -0x55555555;
    lVar15 = plVar16[1];
    lVar19 = *plVar16;
    pcVar5 = *(code **)(*plVar4 + 0x128);
    if (pcVar5 == FUN_001550d0) {
      uVar25 = (**(code **)(*plVar4 + 0x188))();
    }
    else {
      uVar25 = (*pcVar5)(plVar4);
    }
    pcVar5 = *(code **)(*plVar4 + 0x120);
    if (pcVar5 == FUN_001550c0) {
      uVar10 = (**(code **)(*plVar4 + 0x180))();
    }
    else {
      uVar10 = (*pcVar5)(plVar4);
    }
    uVar11 = *(uint *)(plVar4 + 0x14);
    uVar24 = *(uint *)((long)plVar4 + 0xa4);
    uVar26 = 0;
    lVar17 = *(long *)(lVar13 + 0x68);
    lVar6 = *(long *)(lVar13 + 0x60);
    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18
    ;
    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18
    ;
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
               iVar12 * -0x55000000;
    local_68 = (uint)(lVar15 - lVar19 >> 3);
    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18
    ;
    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18
    ;
    uVar25 = (uint)(lVar17 - lVar6 >> 3);
    puVar23 = param_3 + 8;
    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |
                 local_68 << 0x18;
    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18
    ;
    param_3[7] = 0;
    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);
    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);
    puVar18 = puVar23;
    if (uVar27 != 0) {
      do {
        uVar26 = uVar26 + 1;
        uVar11 = 0;
        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));
        uVar10 = *puVar18;
        uVar14 = (ulong)uVar10;
        uVar21 = *(ulong *)(puVar18 + 2);
        *(uint *)((long)__s + uVar14 * 4) = uVar26;
        if (uVar21 != 0) {
          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;
          uVar11 = (uint)*(undefined8 *)
                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +
                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);
        }
        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {
          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");
          }
          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);
        }
        else {
          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);
        }
        if (plVar20 == (long *)0x0) {
          uVar10 = 0;
          uVar21 = 0;
          uVar14 = 0;
        }
        else {
          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {
            uVar24 = *(uint *)((long)plVar20 + 0x7c);
            if (uVar24 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");
            }
          }
          else {
            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);
          }
          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);
          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |
                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |
                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |
                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;
          uVar14 = *(ulong *)((long)puVar23 +
                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));
          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |
                   uVar24 << 0x18;
          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |
                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |
                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |
                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;
        }
        puVar23[1] = uVar10;
        puVar18 = puVar23 + 6;
        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                   uVar11 << 0x18;
        *(ulong *)(puVar23 + 2) = uVar21;
        *(ulong *)(puVar23 + 4) = uVar14;
        puVar23 = puVar18;
      } while (uVar26 != uVar27);
    }
    if (local_68 != 0) {
      puVar23 = puVar18;
      uVar21 = 0;
      do {
        lVar15 = *(long *)(*plVar16 + uVar21 * 8);
        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {
          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));
        }
        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {
          if (plVar4 == *(long **)(lVar15 + 0x10)) {
            uVar27 = *(uint *)(lVar15 + 0x18);
            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {
              cVar8 = FUN_00270fe0();
              if (cVar8 == '\0') {
                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {
                    /* WARNING: Subroutine does not return */
                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");
                }
                uVar27 = *(uint *)(lVar15 + 0x18);
                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {
                  uVar27 = 1;
                  goto LAB_0019fc56;
                }
                goto LAB_0019fd71;
              }
            }
            else if (uVar27 != 0) {
LAB_0019fd71:
              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);
              goto LAB_0019fc56;
            }
          }
LAB_0019fd3a:
          uVar10 = *(uint *)(lVar15 + 0x1c);
          uVar27 = 0;
        }
        else {
          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;
          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);
LAB_0019fc56:
          uVar10 = *(uint *)(lVar15 + 0x1c);
        }
        if (uVar10 == 0) {
LAB_0019fd47:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");
        }
        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {
          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);
        }
        else {
          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);
        }
        if (uVar11 == 0) {
          uVar26 = 0;
          uVar24 = 0;
        }
        else {
          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");
          }
          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {
            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);
          }
          else {
            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);
          }
          uVar26 = iVar12 * 0x18;
          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);
          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |
                   iVar12 * 0x18000000;
          uVar26 = *puVar18;
          *puVar18 = (int)puVar23 - iVar7;
          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |
                   uVar26 << 0x18;
        }
        puVar23[4] = uVar24;
        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
        puVar18 = puVar23 + 5;
        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                     uVar27 << 0x18;
        puVar23[2] = uVar26;
        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                     uVar11 << 0x18;
        bVar28 = local_68 - 1 != uVar21;
        puVar23 = puVar18;
        uVar21 = uVar21 + 1;
      } while (bVar28);
    }
    if (uVar25 == 0) {
      thunk_FUN_002dac60(__s);
      param_3 = puVar18;
    }
    else {
      puVar22 = *(ulong **)(lVar13 + 0x60);
      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;
      do {
        while (uVar21 = *puVar22, uVar21 == 0) {
          *puVar18 = 0;
          puVar18 = puVar18 + 1;
          puVar22 = puVar22 + 1;
          if (puVar18 == param_3) goto LAB_0019fed8;
        }
        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;
        puVar23 = puVar18 + 1;
        puVar22 = puVar22 + 1;
        uVar27 = (uint)*(undefined8 *)
                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +
                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);
        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                   uVar27 << 0x18;
        puVar18 = puVar23;
      } while (puVar23 != param_3);
LAB_0019fed8:
      thunk_FUN_002dac60(__s);
    }
    break;
  case 3:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");
    }
    lVar15 = *(long *)(lVar13 + 0x38);
    puVar23 = param_3 + 2;
    puVar22 = *(ulong **)(lVar13 + 0x50);
    lVar19 = *(long *)(lVar13 + 0x58);
    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);
    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18
    ;
    if (uVar27 != 0) {
      uVar21 = 0;
      do {
        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);
        param_3[uVar21 + 2] =
             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;
        bVar28 = uVar27 - 1 != uVar21;
        uVar21 = uVar21 + 1;
      } while (bVar28);
      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;
    }
    param_3 = puVar23;
    if (uVar25 != 0) {
      uVar21 = *puVar22;
      uVar14 = *(ulong *)(param_4 + 0x50);
      if (uVar14 < uVar21) goto LAB_0019ff72;
      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;
      lVar13 = *(long *)(param_4 + 0x38);
      while( true ) {
        puVar22 = puVar22 + 1;
        uVar27 = (uint)*(undefined8 *)
                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +
                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);
        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                   uVar27 << 0x18;
        if (puVar23 + 1 == param_3) break;
        uVar21 = *puVar22;
        puVar23 = puVar23 + 1;
        if (uVar14 < uVar21) goto LAB_0019ff72;
      }
    }
    break;
  case 4:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");
    }
    plVar4 = *(long **)(lVar13 + 0x40);
    lVar15 = (**(code **)(*plVar4 + 0x20))();
    if (lVar15 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");
    }
    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();
    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {
LAB_0019ff72:
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");
    }
    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;
    puVar23 = param_3 + 2;
    lVar13 = plVar16[1];
    uVar27 = (uint)*(undefined8 *)
                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +
                    (ulong)((uint)uVar21 & 0x1fff) * 8);
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    lVar19 = *plVar16;
    uVar27 = (uint)(lVar13 - lVar19 >> 3);
    if (uVar27 != 0) {
      lVar13 = 0;
      uVar25 = 0;
      puVar18 = puVar23;
      do {
        lVar19 = *(long *)(lVar19 + lVar13);
        puVar23 = puVar18;
        if (lVar19 != 0) {
          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {
            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);
          }
          uVar10 = *(uint *)(lVar19 + 0x1c);
          if (uVar10 == 0) goto LAB_0019fd47;
          if (uVar10 != 0xffffffff) {
            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {
              uVar10 = uVar10 | 0x80000000;
            }
            else {
              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {
                bVar1 = *(byte *)(lVar19 + 0x3b);
                if ((bVar1 & 0x20) != 0) {
                  uVar10 = uVar10 | 0x80000000;
                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;
LAB_0019ff09:
                  if ((bVar1 & 8) != 0) goto LAB_0019f792;
                  goto LAB_0019f7ae;
                }
                cVar8 = FUN_00270fe0();
                uVar10 = 0x80000000;
                if (cVar8 != '\0') {
                  bVar1 = *(byte *)(lVar19 + 0x3b);
                  goto LAB_0019ff09;
                }
              }
              else {
                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;
LAB_0019f792:
                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);
                if (lVar17 == lVar15) {
                  uVar10 = 0xc0000000;
                }
                else {
LAB_0019f7ae:
                  uVar10 = 0;
                }
              }
              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;
              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;
            }
LAB_0019f725:
            puVar23 = puVar18 + 1;
            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                       uVar10 << 0x18;
            uVar25 = uVar25 + 1;
          }
        }
        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;
        lVar19 = *plVar16;
        lVar13 = lVar13 + 8;
        puVar18 = puVar23;
      } while( true );
    }
    goto LAB_0019fe3e;
  case 5:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");
    }
    lVar15 = *(long *)(lVar13 + 0x38);
    puVar23 = param_3 + 1;
    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;
    uVar27 = (uint)uVar21;
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    param_3 = puVar23;
    if (uVar27 != 0) {
      uVar14 = 0;
      while( true ) {
        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);
        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |
                   uVar25 << 0x18;
        param_3 = puVar23 + 1;
        if (uVar27 - 1 == uVar14) break;
        uVar14 = uVar14 + 1;
        puVar23 = puVar23 + 1;
        if (uVar21 == uVar14) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");
        }
      }
    }
  }
  goto LAB_0019f5f4;
LAB_0019fe30:
  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;
LAB_0019fe3e:
  param_3[1] = uVar27;
  param_3 = puVar23;
LAB_0019f5f4:
  if (((long)param_3 - param_2 & 4U) != 0) {
    *param_3 = 0;
    param_3 = param_3 + 1;
  }
  local_88 = local_88 + 1;
  if ((long *)plVar3[1] == local_88) {
    return param_3;
  }
  goto LAB_0019f550;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
MOV RBP,RDX
PUSH RBX
SUB RSP,0x88
MOV RAX,qword ptr [RDI + 0x40]
MOV qword ptr [RSP + 0x58],RCX
MOV RCX,qword ptr [RDI + 0x38]
MOV EAX,dword ptr [RAX + 0x8]
MOV qword ptr [RSP + 0x18],RDI
MOV qword ptr [RSP + 0x10],RSI
MOV dword ptr [RSP + 0x24],EAX
MOV RAX,qword ptr [RCX]
MOV qword ptr [RSP + 0x28],R8
MOV dword ptr [RSP + 0x48],R9D
MOV qword ptr [RSP + 0x68],RCX
CMP qword ptr [RCX + 0x8],RAX
JZ 0x0019f629
MOV qword ptr [RSP + 0x30],RAX
MOV R12,RDX
NOP word ptr CS:[RAX + RAX*0x1]
MOV RAX,qword ptr [RSP + 0x30]
MOV RDI,qword ptr [RAX]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x10]
CMP EAX,0x5
JA 0x0019ffea
LEA RBX,[0x373a20]
MOV EAX,EAX
MOVSXD RAX,dword ptr [RBX + RAX*0x4]
ADD RAX,RBX
JMP RAX
MOV RAX,qword ptr [RSP + 0x30]
MOV RDI,qword ptr [RAX]
MOV RAX,R12
SUB RAX,qword ptr [RSP + 0x10]
CMP dword ptr [RDI + 0x18],EAX
JNZ 0x0019ffba
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x18]
TEST RAX,RAX
JZ 0x001a0032
MOV RSI,qword ptr [RAX + 0x38]
MOV RCX,qword ptr [RAX + 0x40]
ADD R12,0x4
SUB RCX,RSI
SAR RCX,0x3
MOV EAX,ECX
BSWAP EAX
MOV dword ptr [R12 + -0x4],EAX
TEST ECX,ECX
JZ 0x0019f5f4
LEA EDI,[RCX + -0x1]
XOR EAX,EAX
JMP 0x0019f5dd
ADD RAX,0x1
CMP RCX,RAX
JZ 0x0019ff8a
MOV RDX,qword ptr [RSI + RAX*0x8]
ADD R12,0x4
MOV EDX,dword ptr [RDX + 0x14]
BSWAP EDX
MOV dword ptr [R12 + -0x4],EDX
CMP RDI,RAX
JNZ 0x0019f5d0
MOV RAX,R12
SUB RAX,qword ptr [RSP + 0x10]
TEST AL,0x4
JZ 0x0019f60c
MOV dword ptr [R12],0x0
ADD R12,0x4
MOV RCX,qword ptr [RSP + 0x68]
ADD qword ptr [RSP + 0x30],0x8
MOV RAX,qword ptr [RSP + 0x30]
CMP qword ptr [RCX + 0x8],RAX
JNZ 0x0019f550
MOV RBP,R12
ADD RSP,0x88
MOV RAX,RBP
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,qword ptr [RSP + 0x30]
MOV RDI,qword ptr [RAX]
MOV RAX,R12
SUB RAX,qword ptr [RSP + 0x10]
CMP dword ptr [RDI + 0x18],EAX
JNZ 0x001a001a
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x28]
MOV RBP,RAX
TEST RAX,RAX
JZ 0x001a004a
MOV RDI,qword ptr [RAX + 0x40]
MOV RAX,qword ptr [RDI]
MOV qword ptr [RSP + 0x8],RDI
CALL qword ptr [RAX + 0x20]
MOV qword ptr [RSP + 0x38],RAX
TEST RAX,RAX
JZ 0x001a00c2
MOV RDI,qword ptr [RSP + 0x8]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0xe8]
MOV RBX,qword ptr [RSP + 0x58]
MOV RCX,RAX
MOV RAX,qword ptr [RBP + 0x38]
CMP RAX,qword ptr [RBX + 0x50]
JA 0x0019ff72
SUB RAX,0x1
MOV RSI,qword ptr [RBX + 0x38]
LEA R14,[R12 + 0x8]
MOV RDX,RAX
AND EAX,0x1fff
SHR RDX,0xd
LEA RDX,[RDX + RDX*0x2]
LEA RDX,[RSI + RDX*0x8]
MOV RDX,qword ptr [RDX]
MOV RAX,qword ptr [RDX + RAX*0x8]
MOV RDX,qword ptr [RCX + 0x8]
BSWAP EAX
MOV dword ptr [R12],EAX
MOV RAX,qword ptr [RCX]
SUB RDX,RAX
SAR RDX,0x3
MOV R15D,EDX
TEST EDX,EDX
JZ 0x0019fe3e
XOR R13D,R13D
XOR R15D,R15D
SUB EDX,0x1
MOV qword ptr [RSP + 0x40],R12
LEA RBX,[RDX*0x8]
MOV R12,R14
MOV R14D,R15D
MOV R15,R13
MOV R13,RCX
JMP 0x0019f745
OR EAX,0x80000000
BSWAP EAX
ADD R12,0x4
MOV dword ptr [R12 + -0x4],EAX
ADD R14D,0x1
CMP RBX,R15
JZ 0x0019fe30
MOV RAX,qword ptr [R13]
ADD R15,0x8
MOV RBP,qword ptr [RAX + R15*0x1]
TEST RBP,RBP
JZ 0x0019f734
TEST byte ptr [RBP + 0x3a],0x10
JNZ 0x0019fb90
MOV EAX,dword ptr [RBP + 0x1c]
TEST EAX,EAX
JZ 0x0019fd47
CMP EAX,-0x1
JZ 0x0019f734
MOVZX EDX,byte ptr [RBP + 0x39]
AND EDX,0x3
SUB EDX,0x1
CMP EDX,0x1
JBE 0x0019f720
TEST byte ptr [RBP + 0x3a],0x7
JNZ 0x0019f78c
MOV RCX,qword ptr [RSP + 0x8]
CMP RCX,qword ptr [RBP + 0x10]
JZ 0x0019fef0
TEST byte ptr [RBP + 0x3b],0x8
JZ 0x0019f725
MOV RAX,qword ptr [RSP + 0x18]
MOV RSI,RBP
MOV RDI,qword ptr [RAX + 0x40]
CALL 0x00271470
CMP RAX,qword ptr [RSP + 0x38]
JZ 0x0019fb80
XOR EDX,EDX
MOV EAX,dword ptr [RBP + 0x1c]
TEST EAX,EAX
JZ 0x0019fd47
OR EAX,EDX
JMP 0x0019f725
MOV RAX,qword ptr [RSP + 0x30]
MOV RDI,qword ptr [RAX]
MOV RAX,R12
SUB RAX,qword ptr [RSP + 0x10]
CMP dword ptr [RDI + 0x18],EAX
JNZ 0x0019ffa2
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x30]
TEST RAX,RAX
JZ 0x001a0092
MOV RDI,qword ptr [RAX + 0x38]
MOV RSI,qword ptr [RAX + 0x40]
LEA RDX,[R12 + 0x8]
MOV RCX,qword ptr [RAX + 0x50]
MOV R8,qword ptr [RAX + 0x58]
SUB RSI,RDI
SAR RSI,0x3
SUB R8,RCX
SAR R8,0x3
MOV EAX,ESI
BSWAP EAX
MOV dword ptr [R12],EAX
MOV EAX,R8D
BSWAP EAX
MOV dword ptr [R12 + 0x4],EAX
TEST ESI,ESI
JZ 0x0019f856
LEA R9D,[RSI + -0x1]
XOR EAX,EAX
LEA R10,[R9 + 0x1]
JMP 0x0019f83b
MOV RAX,RSI
MOV RSI,qword ptr [RDI + RAX*0x8]
MOV ESI,dword ptr [RSI + 0x14]
BSWAP ESI
MOV dword ptr [R12 + RAX*0x4 + 0x8],ESI
LEA RSI,[RAX + 0x1]
CMP R9,RAX
JNZ 0x0019f838
LEA RDX,[RDX + R10*0x4]
TEST R8D,R8D
JZ 0x0019ff40
MOV RBX,qword ptr [RSP + 0x58]
MOV RAX,qword ptr [RCX]
MOV RDI,qword ptr [RBX + 0x50]
CMP RDI,RAX
JC 0x0019ff72
MOV RBX,qword ptr [RSP + 0x58]
SUB R8D,0x1
ADD RCX,0x8
LEA R12,[RDX + R8*0x4 + 0x4]
MOV RSI,qword ptr [RBX + 0x38]
JMP 0x0019f8a1
ADD RCX,0x8
MOV RAX,qword ptr [RCX + -0x8]
CMP RAX,RDI
JA 0x0019ff72
SUB RAX,0x1
ADD RDX,0x4
MOV R8,RAX
AND EAX,0x1fff
SHR R8,0xd
LEA R8,[R8 + R8*0x2]
MOV R8,qword ptr [RSI + R8*0x8]
MOV RAX,qword ptr [R8 + RAX*0x8]
BSWAP EAX
MOV dword ptr [RDX + -0x4],EAX
CMP RDX,R12
JNZ 0x0019f890
JMP 0x0019f5f4
MOV RAX,qword ptr [RSP + 0x30]
MOV RDI,qword ptr [RAX]
MOV RAX,R12
SUB RAX,qword ptr [RSP + 0x10]
CMP dword ptr [RDI + 0x18],EAX
JNZ 0x001a007a
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x20]
MOV qword ptr [RSP + 0x60],RAX
TEST RAX,RAX
JZ 0x001a0062
MOV RBX,qword ptr [RSP + 0x60]
MOV R14,qword ptr [RBX + 0x38]
MOV RAX,qword ptr [R14]
MOV RDI,R14
CALL qword ptr [RAX + 0xe8]
MOV R13,qword ptr [RBX + 0x50]
SUB R13,qword ptr [RBX + 0x48]
MOV RDI,R14
MOV R15,RAX
SAR R13,0x3
LEA RCX,[0x1550d0]
MOV RAX,-0x5555555555555555
IMUL R13,RAX
MOV RAX,qword ptr [R15 + 0x8]
SUB RAX,qword ptr [R15]
SAR RAX,0x3
MOV qword ptr [RSP + 0x50],RAX
MOV RAX,qword ptr [R14]
MOV dword ptr [RSP + 0x4c],R13D
MOV RDX,qword ptr [RAX + 0x128]
CMP RDX,RCX
JNZ 0x0019ff36
CALL qword ptr [RAX + 0x188]
MOV RBX,RAX
MOV RAX,qword ptr [R14]
LEA RCX,[0x1550c0]
MOV RDI,R14
MOV RDX,qword ptr [RAX + 0x120]
CMP RDX,RCX
JNZ 0x0019ff2f
CALL qword ptr [RAX + 0x180]
MOV RDI,qword ptr [RSP + 0x60]
MOV ECX,dword ptr [R14 + 0xa0]
BSWAP EAX
BSWAP EBX
MOV EDX,dword ptr [R14 + 0xa4]
XOR EBP,EBP
MOV RSI,qword ptr [RDI + 0x68]
SUB RSI,qword ptr [RDI + 0x60]
MOV dword ptr [R12 + 0xc],EAX
MOV EAX,ECX
MOV RDI,RSI
MOV ESI,R13D
BSWAP EAX
MOV dword ptr [R12 + 0x10],EAX
SAR RDI,0x3
MOV EAX,EDX
BSWAP ESI
MOV dword ptr [R12],ESI
MOV ESI,dword ptr [RSP + 0x50]
BSWAP EAX
MOV dword ptr [R12 + 0x14],EAX
MOV EAX,EDI
MOV dword ptr [R12 + 0x8],EBX
BSWAP EAX
LEA RBX,[R12 + 0x20]
BSWAP ESI
MOV qword ptr [RSP + 0x70],RDI
MOV dword ptr [R12 + 0x4],ESI
MOV dword ptr [R12 + 0x18],EAX
MOV dword ptr [R12 + 0x1c],0x0
MOV EDI,dword ptr [R14 + 0x38]
SHL RDI,0x2
CALL 0x002d9430
MOV EDX,dword ptr [R14 + 0x38]
XOR ESI,ESI
MOV RDI,RAX
MOV qword ptr [RSP + 0x40],RAX
SHL RDX,0x2
CALL 0x00147100
MOV RAX,-0x20
SUB RAX,R12
MOV qword ptr [RSP + 0x38],RAX
TEST R13D,R13D
JZ 0x0019fc08
MOV qword ptr [RSP + 0x78],R15
MOV R13,R14
MOV R15D,EBP
MOV R14,qword ptr [RSP + 0x60]
JMP 0x0019fb09
MOV RAX,qword ptr [R13]
LEA RCX,[0x156120]
MOV RAX,qword ptr [RAX + 0xc0]
CMP RAX,RCX
JNZ 0x0019fbc0
MOV RDI,qword ptr [R13 + 0x50]
MOV RAX,qword ptr [R13 + 0x58]
SUB RAX,RDI
SAR RAX,0x3
CMP RSI,RAX
JNC 0x001a00aa
MOV RAX,qword ptr [RDI + RSI*0x8]
TEST RAX,RAX
JZ 0x0019fbb0
MOV RSI,qword ptr [RAX]
LEA RCX,[0x1869e0]
MOV RSI,qword ptr [RSI + 0x58]
CMP RSI,RCX
JNZ 0x0019fbe0
MOV EDX,dword ptr [RAX + 0x7c]
CMP EDX,-0x1
JZ 0x0019ffd2
MOV RAX,qword ptr [R13]
MOV dword ptr [RSP + 0x8],EDX
MOV ESI,R9D
MOV RDI,R13
CALL qword ptr [RAX + 0xd0]
MOV RSI,qword ptr [R14 + 0x48]
MOV EDX,dword ptr [RSP + 0x8]
BSWAP RAX
MOV RSI,qword ptr [RSI + RBP*0x1 + 0x10]
BSWAP EDX
MOV R8D,EDX
BSWAP RSI
BSWAP R12D
MOV dword ptr [RBX + 0x4],R8D
ADD RBX,0x18
MOV dword ptr [RBX + -0x18],R12D
MOV qword ptr [RBX + -0x10],RAX
MOV qword ptr [RBX + -0x8],RSI
CMP R15D,dword ptr [RSP + 0x4c]
JZ 0x0019fc00
MOV RAX,qword ptr [RSP + 0x38]
MOV RCX,qword ptr [RSP + 0x40]
ADD R15D,0x1
XOR R12D,R12D
LEA RBP,[RBX + RAX*0x1]
MOV RAX,qword ptr [R14 + 0x48]
ADD RAX,RBP
MOV ESI,dword ptr [RAX]
MOV RAX,qword ptr [RAX + 0x8]
MOV R9,RSI
MOV dword ptr [RCX + RSI*0x4],R15D
TEST RAX,RAX
JZ 0x0019fa58
MOV RCX,qword ptr [RSP + 0x58]
CMP RAX,qword ptr [RCX + 0x50]
JA 0x0019ff72
SUB RAX,0x1
MOV RCX,qword ptr [RSP + 0x58]
MOV RDI,RAX
AND EAX,0x1fff
SHR RDI,0xd
LEA RDI,[RDI + RDI*0x2]
SHL RDI,0x3
ADD RDI,qword ptr [RCX + 0x38]
MOV RDI,qword ptr [RDI]
MOV R12,qword ptr [RDI + RAX*0x8]
JMP 0x0019fa58
MOV EDX,0xc0000000
JMP 0x0019f7b0
MOV RAX,qword ptr [RSP + 0x18]
MOV RSI,RBP
MOV RDI,qword ptr [RAX + 0x40]
CALL 0x002713d0
MOV RBP,RAX
JMP 0x0019f758
XOR R8D,R8D
XOR EAX,EAX
XOR ESI,ESI
JMP 0x0019fae7
MOV ESI,R9D
MOV dword ptr [RSP + 0x8],R9D
MOV RDI,R13
CALL RAX
MOV R9D,dword ptr [RSP + 0x8]
JMP 0x0019fa8f
MOV dword ptr [RSP + 0x8],R9D
MOV RDI,RAX
CALL RSI
MOV R9D,dword ptr [RSP + 0x8]
MOV EDX,EAX
JMP 0x0019fabb
MOV R15,qword ptr [RSP + 0x78]
MOV R14,R13
MOV R9D,dword ptr [RSP + 0x50]
TEST R9D,R9D
JZ 0x0019fe50
MOV RAX,qword ptr [RSP + 0x50]
XOR R12D,R12D
SUB EAX,0x1
MOV qword ptr [RSP + 0x8],RAX
MOV RAX,R14
MOV R14,R15
MOV R15,RAX
JMP 0x0019fd1a
TEST byte ptr [RSI + 0x3c],0x4
JNZ 0x0019fd3a
MOVZX EBP,byte ptr [RSI + 0x3b]
SHR BPL,0x3
AND EBP,0x1
XOR EBP,0x1
MOVZX EBP,BPL
NEG EBP
MOV EDX,dword ptr [RSI + 0x1c]
TEST EDX,EDX
JZ 0x0019fd47
MOV RAX,qword ptr [R15]
LEA RCX,[0x1550f0]
MOV RAX,qword ptr [RAX + 0x100]
CMP RAX,RCX
JNZ 0x0019fda8
MOV RAX,qword ptr [R15 + 0x90]
MOV ECX,dword ptr [RAX + R12*0x4]
TEST ECX,ECX
JZ 0x0019fd80
CMP EDX,-0x1
JZ 0x0019ff5a
MOV R9D,EDX
SUB R9D,dword ptr [RSP + 0x24]
CMP R9D,dword ptr [RSP + 0x48]
JNC 0x0019ff5a
MOV RAX,qword ptr [R15]
LEA RDI,[0x1550e0]
MOV RAX,qword ptr [RAX + 0xf8]
CMP RAX,RDI
JNZ 0x0019fdc0
MOV RAX,qword ptr [R15 + 0x98]
MOV EAX,dword ptr [RAX + R12*0x4]
MOV RDI,qword ptr [RSP + 0x28]
LEA EAX,[RAX + RAX*0x2]
SHL EAX,0x3
LEA RDI,[RDI + R9*0x4]
MOV R9,RBX
SUB R9,qword ptr [RSP + 0x10]
BSWAP EAX
MOV ESI,dword ptr [RDI]
MOV dword ptr [RDI],R9D
BSWAP ESI
MOV dword ptr [RBX + 0x10],EAX
BSWAP EDX
BSWAP EBP
BSWAP ECX
MOV dword ptr [RBX],EDX
LEA RAX,[R12 + 0x1]
ADD RBX,0x14
MOV dword ptr [RBX + -0x10],EBP
MOV dword ptr [RBX + -0xc],ESI
MOV dword ptr [RBX + -0x8],ECX
CMP qword ptr [RSP + 0x8],R12
JZ 0x0019fe50
MOV R12,RAX
MOV RAX,qword ptr [R14]
MOV R13D,R12D
MOV RSI,qword ptr [RAX + R12*0x8]
TEST byte ptr [RSI + 0x3a],0x10
JNZ 0x0019fd90
TEST byte ptr [RSI + 0x3a],0x7
JNZ 0x0019fc38
CMP R15,qword ptr [RSI + 0x10]
JZ 0x0019fd60
MOV EDX,dword ptr [RSI + 0x1c]
XOR EBP,EBP
TEST EDX,EDX
JNZ 0x0019fc61
LEA RDX,[0x375580]
MOV ESI,0x180
LEA RDI,[0x3726ed]
CALL 0x0017c650
MOV EDI,dword ptr [RSI + 0x18]
TEST byte ptr [RSI + 0x3b],0x20
JZ 0x0019fdf0
TEST EDI,EDI
JZ 0x0019fd3a
MOV RAX,qword ptr [RSP + 0x40]
MOV EBP,dword ptr [RAX + RDI*0x4]
JMP 0x0019fc56
XOR ESI,ESI
XOR EAX,EAX
JMP 0x0019fcef
MOV RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RAX + 0x40]
CALL 0x002713d0
MOV RSI,RAX
JMP 0x0019fd2a
MOV dword ptr [RSP + 0x38],EDX
MOV ESI,R13D
MOV RDI,R15
CALL RAX
MOV EDX,dword ptr [RSP + 0x38]
MOV ECX,EAX
JMP 0x0019fc86
MOV dword ptr [RSP + 0x50],ECX
MOV ESI,R13D
MOV RDI,R15
MOV dword ptr [RSP + 0x4c],EDX
MOV dword ptr [RSP + 0x38],R9D
CALL RAX
MOV ECX,dword ptr [RSP + 0x50]
MOV EDX,dword ptr [RSP + 0x4c]
MOV R9D,dword ptr [RSP + 0x38]
JMP 0x0019fccf
MOV qword ptr [RSP + 0x38],RSI
CALL 0x00270fe0
MOV RSI,qword ptr [RSP + 0x38]
TEST AL,AL
JNZ 0x0019fd3a
TEST byte ptr [RSI + 0x3a],0x7
JNZ 0x001a0002
MOV EDI,dword ptr [RSI + 0x18]
TEST byte ptr [RSI + 0x3b],0x20
JNZ 0x0019fd71
MOV EBP,0x1
JMP 0x0019fc56
MOV R15D,R14D
MOV R14,R12
MOV R12,qword ptr [RSP + 0x40]
BSWAP R15D
MOV dword ptr [R12 + 0x4],R15D
MOV R12,R14
JMP 0x0019f5f4
MOV R8D,dword ptr [RSP + 0x70]
TEST R8D,R8D
JZ 0x0019ff48
MOV RAX,qword ptr [RSP + 0x60]
MOV RSI,qword ptr [RSP + 0x58]
MOV RCX,qword ptr [RAX + 0x60]
MOV RAX,qword ptr [RSP + 0x70]
SUB EAX,0x1
LEA R12,[RBX + RAX*0x4 + 0x4]
JMP 0x0019fe8f
MOV dword ptr [RBX],EDX
ADD RBX,0x4
ADD RCX,0x8
CMP RBX,R12
JZ 0x0019fed8
MOV RAX,qword ptr [RCX]
XOR EDX,EDX
TEST RAX,RAX
JZ 0x0019fe80
CMP RAX,qword ptr [RSI + 0x50]
JA 0x0019ff72
SUB RAX,0x1
MOV RDI,qword ptr [RSI + 0x38]
ADD RBX,0x4
ADD RCX,0x8
MOV RDX,RAX
AND EAX,0x1fff
SHR RDX,0xd
LEA RDX,[RDX + RDX*0x2]
LEA RDX,[RDI + RDX*0x8]
MOV RDX,qword ptr [RDX]
MOV RDX,qword ptr [RDX + RAX*0x8]
BSWAP EDX
MOV dword ptr [RBX + -0x4],EDX
CMP RBX,R12
JNZ 0x0019fe8f
MOV RDI,qword ptr [RSP + 0x40]
CALL 0x002dac30
JMP 0x0019f5f4
MOVZX EDX,byte ptr [RBP + 0x3b]
MOV EDI,dword ptr [RBP + 0x18]
TEST DL,0x20
JZ 0x0019ff17
OR EAX,0x80000000
TEST EDI,EDI
JNZ 0x0019f725
AND EDX,0x8
JZ 0x0019f7ae
JMP 0x0019f792
CALL 0x00270fe0
MOV EDX,0x80000000
TEST AL,AL
JZ 0x0019f7b0
MOVZX EDX,byte ptr [RBP + 0x3b]
JMP 0x0019ff09
CALL RDX
JMP 0x0019f98d
CALL RDX
MOV RBX,RAX
JMP 0x0019f96a
MOV R12,RDX
JMP 0x0019f5f4
MOV RDI,qword ptr [RSP + 0x40]
MOV R12,RBX
CALL 0x002dac30
JMP 0x0019f5f4
LEA RDX,[0x375130]
MOV ESI,0x678
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x3754e0]
MOV ESI,0x108
LEA RDI,[0x36b55a]
CALL 0x0017c650
LEA RDX,[0x375488]
MOV ESI,0x149
LEA RDI,[0x373482]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x6d4
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x5ff
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375440]
MOV ESI,0x1043
LEA RDI,[0x373454]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x6f2
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x37538f]
MOV ESI,0xaa
LEA RDI,[0x3726ed]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x69a
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x601
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x69c
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x618
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x616
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x6d6
LEA RDI,[0x373468]
CALL 0x0017c650
LEA RDX,[0x375470]
MOV ESI,0x5c8
LEA RDI,[0x36b016]
CALL 0x0017c650
LEA RDX,[0x375130]
MOV ESI,0x69f
LEA RDI,[0x373468]
CALL 0x0017c650
(translation_unit "uint * FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)\n\n{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}\n\n" (function_definition "uint * FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)\n\n{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}" type_identifier (pointer_declarator "* FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" * (function_declarator "FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" identifier (parameter_list "(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_6" type_identifier identifier) )))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar16;" (sized_type_specifier "long" long) (pointer_declarator "*plVar16" * identifier) ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar20;" (sized_type_specifier "long" long) (pointer_declarator "*plVar20" * identifier) ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "ulong *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "long *local_88;" (sized_type_specifier "long" long) (pointer_declarator "*local_88" * identifier) ;) (declaration "uint local_68;" type_identifier identifier ;) (expression_statement "plVar3 = *(long **)(param_1 + 0x38);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x38)" identifier = (pointer_expression "*(long **)(param_1 + 0x38)" * (cast_expression "(long **)(param_1 + 0x38)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);" (assignment_expression "iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8)" identifier = (pointer_expression "*(int *)(*(long *)(param_1 + 0x40) + 8)" * (cast_expression "(int *)(*(long *)(param_1 + 0x40) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x40) + 8)" ( (binary_expression "*(long *)(param_1 + 0x40) + 8" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_88 = (long *)*plVar3;" (assignment_expression "local_88 = (long *)*plVar3" identifier = (cast_expression "(long *)*plVar3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar3" * identifier))) ;) (if_statement "if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }" if (parenthesized_expression "((long *)plVar3[1] == local_88)" ( (binary_expression "(long *)plVar3[1] == local_88" (cast_expression "(long *)plVar3[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[1]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n    return param_3;\n  }" { (return_statement "return param_3;" return identifier ;) })) (labeled_statement "LAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();" statement_identifier : (expression_statement "uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();" (assignment_expression "uVar9 = (**(code **)(*(long *)*local_88 + 0x10))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x10))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x10))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x10)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x10)" * (cast_expression "(code **)(*(long *)*local_88 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x10)" ( (binary_expression "*(long *)*local_88 + 0x10" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "iVar12 = (int)param_3;" (assignment_expression "iVar12 = (int)param_3" identifier = (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = (int)param_2;" (assignment_expression "iVar7 = (int)param_2" identifier = (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (switch_statement "switch(uVar9) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" switch (parenthesized_expression "(uVar9)" ( identifier )) (compound_statement "{\n  default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" { (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");" default : comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6f2,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x616,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x20))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x20))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x20))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x20)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x20)" * (cast_expression "(code **)(*(long *)*local_88 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x20)" ( (binary_expression "*(long *)*local_88 + 0x20" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x618,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "plVar4 = *(long **)(lVar13 + 0x38);" (assignment_expression "plVar4 = *(long **)(lVar13 + 0x38)" identifier = (pointer_expression "*(long **)(lVar13 + 0x38)" * (cast_expression "(long **)(lVar13 + 0x38)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);" (assignment_expression "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4)" identifier = (cast_expression "(long *)(**(code **)(*plVar4 + 0xe8))(plVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar4 + 0xe8))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0xe8))" ( (pointer_expression "**(code **)(*plVar4 + 0xe8)" * (pointer_expression "*(code **)(*plVar4 + 0xe8)" * (cast_expression "(code **)(*plVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xe8)" ( (binary_expression "*plVar4 + 0xe8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier ))))) ;) (expression_statement "iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);" (assignment_expression "iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" identifier = (cast_expression "(int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" ( (binary_expression "*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3" (binary_expression "*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48)" (pointer_expression "*(long *)(lVar13 + 0x50)" * (cast_expression "(long *)(lVar13 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) )))) - (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) >> number_literal) )))) ;) (expression_statement "uVar27 = iVar12 * -0x55555555;" (assignment_expression "uVar27 = iVar12 * -0x55555555" identifier = (binary_expression "iVar12 * -0x55555555" identifier * number_literal)) ;) (expression_statement "lVar15 = plVar16[1];" (assignment_expression "lVar15 = plVar16[1]" identifier = (subscript_expression "plVar16[1]" identifier [ number_literal ])) ;) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "pcVar5 = *(code **)(*plVar4 + 0x128);" (assignment_expression "pcVar5 = *(code **)(*plVar4 + 0x128)" identifier = (pointer_expression "*(code **)(*plVar4 + 0x128)" * (cast_expression "(code **)(*plVar4 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x128)" ( (binary_expression "*plVar4 + 0x128" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }" if (parenthesized_expression "(pcVar5 == FUN_001550d0)" ( (binary_expression "pcVar5 == FUN_001550d0" identifier == identifier) )) (compound_statement "{\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }" { (expression_statement "uVar25 = (**(code **)(*plVar4 + 0x188))();" (assignment_expression "uVar25 = (**(code **)(*plVar4 + 0x188))()" identifier = (call_expression "(**(code **)(*plVar4 + 0x188))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x188))" ( (pointer_expression "**(code **)(*plVar4 + 0x188)" * (pointer_expression "*(code **)(*plVar4 + 0x188)" * (cast_expression "(code **)(*plVar4 + 0x188)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x188)" ( (binary_expression "*plVar4 + 0x188" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n      uVar25 = (*pcVar5)(plVar4);\n    }" else (compound_statement "{\n      uVar25 = (*pcVar5)(plVar4);\n    }" { (expression_statement "uVar25 = (*pcVar5)(plVar4);" (assignment_expression "uVar25 = (*pcVar5)(plVar4)" identifier = (call_expression "(*pcVar5)(plVar4)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (expression_statement "pcVar5 = *(code **)(*plVar4 + 0x120);" (assignment_expression "pcVar5 = *(code **)(*plVar4 + 0x120)" identifier = (pointer_expression "*(code **)(*plVar4 + 0x120)" * (cast_expression "(code **)(*plVar4 + 0x120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x120)" ( (binary_expression "*plVar4 + 0x120" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }" if (parenthesized_expression "(pcVar5 == FUN_001550c0)" ( (binary_expression "pcVar5 == FUN_001550c0" identifier == identifier) )) (compound_statement "{\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }" { (expression_statement "uVar10 = (**(code **)(*plVar4 + 0x180))();" (assignment_expression "uVar10 = (**(code **)(*plVar4 + 0x180))()" identifier = (call_expression "(**(code **)(*plVar4 + 0x180))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x180))" ( (pointer_expression "**(code **)(*plVar4 + 0x180)" * (pointer_expression "*(code **)(*plVar4 + 0x180)" * (cast_expression "(code **)(*plVar4 + 0x180)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x180)" ( (binary_expression "*plVar4 + 0x180" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n      uVar10 = (*pcVar5)(plVar4);\n    }" else (compound_statement "{\n      uVar10 = (*pcVar5)(plVar4);\n    }" { (expression_statement "uVar10 = (*pcVar5)(plVar4);" (assignment_expression "uVar10 = (*pcVar5)(plVar4)" identifier = (call_expression "(*pcVar5)(plVar4)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (expression_statement "uVar11 = *(uint *)(plVar4 + 0x14);" (assignment_expression "uVar11 = *(uint *)(plVar4 + 0x14)" identifier = (pointer_expression "*(uint *)(plVar4 + 0x14)" * (cast_expression "(uint *)(plVar4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4 + 0x14)" ( (binary_expression "plVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)((long)plVar4 + 0xa4);" (assignment_expression "uVar24 = *(uint *)((long)plVar4 + 0xa4)" identifier = (pointer_expression "*(uint *)((long)plVar4 + 0xa4)" * (cast_expression "(uint *)((long)plVar4 + 0xa4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar4 + 0xa4)" ( (binary_expression "(long)plVar4 + 0xa4" (cast_expression "(long)plVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "lVar17 = *(long *)(lVar13 + 0x68);" (assignment_expression "lVar17 = *(long *)(lVar13 + 0x68)" identifier = (pointer_expression "*(long *)(lVar13 + 0x68)" * (cast_expression "(long *)(lVar13 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x68)" ( (binary_expression "lVar13 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "lVar6 = *(long *)(lVar13 + 0x60);" (assignment_expression "lVar6 = *(long *)(lVar13 + 0x60)" identifier = (pointer_expression "*(long *)(lVar13 + 0x60)" * (cast_expression "(long *)(lVar13 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;" (assignment_expression "param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (subscript_expression "param_3[3]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;" (assignment_expression "param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (subscript_expression "param_3[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 "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "iVar12 * -0x55000000" identifier * number_literal))) ;) (expression_statement "local_68 = (uint)(lVar15 - lVar19 >> 3);" (assignment_expression "local_68 = (uint)(lVar15 - lVar19 >> 3)" identifier = (call_expression "(uint)(lVar15 - lVar19 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar15 - lVar19 >> 3)" ( (binary_expression "lVar15 - lVar19 >> 3" (binary_expression "lVar15 - lVar19" identifier - identifier) >> number_literal) )))) ;) (expression_statement "param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;" (assignment_expression "param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (subscript_expression "param_3[5]" identifier [ number_literal ]) = (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[2]" identifier [ number_literal ]) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar25 = (uint)(lVar17 - lVar6 >> 3);" (assignment_expression "uVar25 = (uint)(lVar17 - lVar6 >> 3)" identifier = (call_expression "(uint)(lVar17 - lVar6 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar17 - lVar6 >> 3)" ( (binary_expression "lVar17 - lVar6 >> 3" (binary_expression "lVar17 - lVar6" identifier - identifier) >> number_literal) )))) ;) (expression_statement "puVar23 = param_3 + 8;" (assignment_expression "puVar23 = param_3 + 8" identifier = (binary_expression "param_3 + 8" identifier + number_literal)) ;) (expression_statement "param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;" (assignment_expression "param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8" (binary_expression "local_68 >> 0x18" identifier >> number_literal) | (binary_expression "(local_68 & 0xff0000) >> 8" (parenthesized_expression "(local_68 & 0xff0000)" ( (binary_expression "local_68 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_68 & 0xff00) << 8" (parenthesized_expression "(local_68 & 0xff00)" ( (binary_expression "local_68 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_68 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[6]" identifier [ number_literal ]) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[7] = 0;" (assignment_expression "param_3[7] = 0" (subscript_expression "param_3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);" (assignment_expression "__s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" identifier = (cast_expression "(void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" identifier (argument_list "((ulong)*(uint *)(plVar4 + 7) << 2)" ( (binary_expression "(ulong)*(uint *)(plVar4 + 7) << 2" (binary_expression "(ulong)*(uint *)(plVar4 + 7)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar4 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4 + 7)" ( (binary_expression "plVar4 + 7" identifier + number_literal) )))) << number_literal) ))))) ;) (expression_statement "memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);" (call_expression "memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2)" identifier (argument_list "(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2)" ( identifier , number_literal , (binary_expression "(ulong)*(uint *)(plVar4 + 7) << 2" (binary_expression "(ulong)*(uint *)(plVar4 + 7)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar4 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4 + 7)" ( (binary_expression "plVar4 + 7" identifier + number_literal) )))) << number_literal) ))) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) (if_statement "if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }" { (do_statement "do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);" do (compound_statement "{\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      }" { (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));" (assignment_expression "puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" identifier = (cast_expression "(uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" ( (binary_expression "(long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3)" (binary_expression "(long)puVar23 + *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) + (parenthesized_expression "(-0x20 - (long)param_3)" ( (binary_expression "-0x20 - (long)param_3" number_literal - (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (expression_statement "uVar10 = *puVar18;" (assignment_expression "uVar10 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "uVar14 = (ulong)uVar10;" (assignment_expression "uVar14 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = *(ulong *)(puVar18 + 2);" (assignment_expression "uVar21 = *(ulong *)(puVar18 + 2)" identifier = (pointer_expression "*(ulong *)(puVar18 + 2)" * (cast_expression "(ulong *)(puVar18 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)((long)__s + uVar14 * 4) = uVar26;" (assignment_expression "*(uint *)((long)__s + uVar14 * 4) = uVar26" (pointer_expression "*(uint *)((long)__s + uVar14 * 4)" * (cast_expression "(uint *)((long)__s + uVar14 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + uVar14 * 4)" ( (binary_expression "(long)__s + uVar14 * 4" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar14 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }" { (if_statement "if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < uVar21)" ( (binary_expression "*(ulong *)(param_4 + 0x50) < uVar21" (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (binary_expression "*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" * (cast_expression "(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" ( (binary_expression "(uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)" (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" ( (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" identifier - number_literal) >> number_literal) )) * number_literal) + (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) ))))) )))) + (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) })) (if_statement "if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" if (parenthesized_expression "(*(code **)(*plVar4 + 0xc0) == FUN_00156120)" ( (binary_expression "*(code **)(*plVar4 + 0xc0) == FUN_00156120" (pointer_expression "*(code **)(*plVar4 + 0xc0)" * (cast_expression "(code **)(*plVar4 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xc0)" ( (binary_expression "*plVar4 + 0xc0" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }" { (if_statement "if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }" if (parenthesized_expression "((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14)" ( (binary_expression "(ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14" (call_expression "(ulong)(plVar4[0xb] - plVar4[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar4[0xb] - plVar4[10] >> 3)" ( (binary_expression "plVar4[0xb] - plVar4[10] >> 3" (binary_expression "plVar4[0xb] - plVar4[10]" (subscript_expression "plVar4[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar4[10]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }" { comment (expression_statement "FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "plVar20 = *(long **)(plVar4[10] + uVar14 * 8);" (assignment_expression "plVar20 = *(long **)(plVar4[10] + uVar14 * 8)" identifier = (pointer_expression "*(long **)(plVar4[10] + uVar14 * 8)" * (cast_expression "(long **)(plVar4[10] + uVar14 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar4[10] + uVar14 * 8)" ( (binary_expression "plVar4[10] + uVar14 * 8" (subscript_expression "plVar4[10]" identifier [ number_literal ]) + (binary_expression "uVar14 * 8" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" else (compound_statement "{\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" { (expression_statement "plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);" (assignment_expression "plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4)" identifier = (cast_expression "(long *)(**(code **)(*plVar4 + 0xc0))(plVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar4 + 0xc0))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0xc0))" ( (pointer_expression "**(code **)(*plVar4 + 0xc0)" * (pointer_expression "*(code **)(*plVar4 + 0xc0)" * (cast_expression "(code **)(*plVar4 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xc0)" ( (binary_expression "*plVar4 + 0xc0" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier ))))) ;) }))) (if_statement "if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" if (parenthesized_expression "(plVar20 == (long *)0x0)" ( (binary_expression "plVar20 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" else (compound_statement "{\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" { (if_statement "if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" if (parenthesized_expression "(*(code **)(*plVar20 + 0x58) == FUN_001869e0)" ( (binary_expression "*(code **)(*plVar20 + 0x58) == FUN_001869e0" (pointer_expression "*(code **)(*plVar20 + 0x58)" * (cast_expression "(code **)(*plVar20 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar20 + 0x58)" ( (binary_expression "*plVar20 + 0x58" (pointer_expression "*plVar20" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }" { (expression_statement "uVar24 = *(uint *)((long)plVar20 + 0x7c);" (assignment_expression "uVar24 = *(uint *)((long)plVar20 + 0x7c)" identifier = (pointer_expression "*(uint *)((long)plVar20 + 0x7c)" * (cast_expression "(uint *)((long)plVar20 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar20 + 0x7c)" ( (binary_expression "(long)plVar20 + 0x7c" (cast_expression "(long)plVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar24 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }" if (parenthesized_expression "(uVar24 == 0xffffffff)" ( (binary_expression "uVar24 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }" { comment (expression_statement "FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");" (call_expression "FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx")" identifier (argument_list "("../../gold/output.h",0x1043,"do_out_shndx")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""do_out_shndx"" " string_content ") ))) ;) })) }) (else_clause "else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" else (compound_statement "{\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" { (expression_statement "uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);" (assignment_expression "uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20)" identifier = (call_expression "(**(code **)(*plVar20 + 0x58))(plVar20)" (parenthesized_expression "(**(code **)(*plVar20 + 0x58))" ( (pointer_expression "**(code **)(*plVar20 + 0x58)" * (pointer_expression "*(code **)(*plVar20 + 0x58)" * (cast_expression "(code **)(*plVar20 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar20 + 0x58)" ( (binary_expression "*plVar20 + 0x58" (pointer_expression "*plVar20" * identifier) + number_literal) ))))) )) (argument_list "(plVar20)" ( identifier )))) ;) }))) (expression_statement "uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);" (assignment_expression "uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10)" identifier = (call_expression "(**(code **)(*plVar4 + 0xd0))(plVar4,uVar10)" (parenthesized_expression "(**(code **)(*plVar4 + 0xd0))" ( (pointer_expression "**(code **)(*plVar4 + 0xd0)" * (pointer_expression "*(code **)(*plVar4 + 0xd0)" * (cast_expression "(code **)(*plVar4 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xd0)" ( (binary_expression "*plVar4 + 0xd0" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,uVar10)" ( identifier , identifier )))) ;) (expression_statement "uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;" (assignment_expression "uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38" identifier = (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28" (binary_expression "uVar21 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar21 & 0xff000000000000)" ( (binary_expression "uVar21 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar21 & 0xff0000000000)" ( (binary_expression "uVar21 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00000000) >> 8" (parenthesized_expression "(uVar21 & 0xff00000000)" ( (binary_expression "uVar21 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff000000) << 8" (parenthesized_expression "(uVar21 & 0xff000000)" ( (binary_expression "uVar21 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar21 & 0xff0000) << 0x18" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar21 & 0xff00) << 0x28" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));" (assignment_expression "uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" identifier = (pointer_expression "*(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" * (cast_expression "(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" ( (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3)" (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10" (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) + number_literal) + (parenthesized_expression "(-0x20 - (long)param_3)" ( (binary_expression "-0x20 - (long)param_3" number_literal - (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))))) ;) (expression_statement "uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;" (assignment_expression "uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18" identifier = (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;" (assignment_expression "uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" identifier = (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28" (binary_expression "uVar14 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar14 & 0xff000000000000)" ( (binary_expression "uVar14 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar14 & 0xff0000000000)" ( (binary_expression "uVar14 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00000000) >> 8" (parenthesized_expression "(uVar14 & 0xff00000000)" ( (binary_expression "uVar14 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff000000) << 8" (parenthesized_expression "(uVar14 & 0xff000000)" ( (binary_expression "uVar14 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff0000) << 0x18" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff00) << 0x28" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x38" identifier << number_literal))) ;) }))) (expression_statement "puVar23[1] = uVar10;" (assignment_expression "puVar23[1] = uVar10" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = puVar23 + 6;" (assignment_expression "puVar18 = puVar23 + 6" identifier = (binary_expression "puVar23 + 6" identifier + number_literal)) ;) (expression_statement "*puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;" (assignment_expression "*puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   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 "*(ulong *)(puVar23 + 2) = uVar21;" (assignment_expression "*(ulong *)(puVar23 + 2) = uVar21" (pointer_expression "*(ulong *)(puVar23 + 2)" * (cast_expression "(ulong *)(puVar23 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 2)" ( (binary_expression "puVar23 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(puVar23 + 4) = uVar14;" (assignment_expression "*(ulong *)(puVar23 + 4) = uVar14" (pointer_expression "*(ulong *)(puVar23 + 4)" * (cast_expression "(ulong *)(puVar23 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 4)" ( (binary_expression "puVar23 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(uVar26 != uVar27)" ( (binary_expression "uVar26 != uVar27" identifier != identifier) )) ;) })) (if_statement "if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }" { (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);" do (compound_statement "{\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      }" { (expression_statement "lVar15 = *(long *)(*plVar16 + uVar21 * 8);" (assignment_expression "lVar15 = *(long *)(*plVar16 + uVar21 * 8)" identifier = (pointer_expression "*(long *)(*plVar16 + uVar21 * 8)" * (cast_expression "(long *)(*plVar16 + uVar21 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*plVar16 + uVar21 * 8)" ( (binary_expression "*plVar16 + uVar21 * 8" (pointer_expression "*plVar16" * identifier) + (binary_expression "uVar21 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)(lVar15 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar15 + 0x3a)" * (cast_expression "(byte *)(lVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3a)" ( (binary_expression "lVar15 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }" { (expression_statement "lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));" (assignment_expression "lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40))" identifier = (call_expression "FUN_002713d0(*(undefined8 *)(param_1 + 0x40))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x40))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) )))) ;) })) (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar15 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar15 + 0x3a)" * (cast_expression "(byte *)(lVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3a)" ( (binary_expression "lVar15 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }" { (if_statement "if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }" if (parenthesized_expression "(plVar4 == *(long **)(lVar15 + 0x10))" ( (binary_expression "plVar4 == *(long **)(lVar15 + 0x10)" identifier == (pointer_expression "*(long **)(lVar15 + 0x10)" * (cast_expression "(long **)(lVar15 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }" { (expression_statement "uVar27 = *(uint *)(lVar15 + 0x18);" (assignment_expression "uVar27 = *(uint *)(lVar15 + 0x18)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x18)" * (cast_expression "(uint *)(lVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar15 + 0x3b)" * (cast_expression "(byte *)(lVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3b)" ( (binary_expression "lVar15 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }" { (expression_statement "cVar8 = FUN_00270fe0();" (assignment_expression "cVar8 = FUN_00270fe0()" identifier = (call_expression "FUN_00270fe0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" if (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" { (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar15 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar15 + 0x3a)" * (cast_expression "(byte *)(lVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3a)" ( (binary_expression "lVar15 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }" { comment (expression_statement "FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");" (call_expression "FUN_0017c650("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;) })) (expression_statement "uVar27 = *(uint *)(lVar15 + 0x18);" (assignment_expression "uVar27 = *(uint *)(lVar15 + 0x18)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x18)" * (cast_expression "(uint *)(lVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar15 + 0x3b)" * (cast_expression "(byte *)(lVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3b)" ( (binary_expression "lVar15 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }" { (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0019fc56;" goto statement_identifier ;) })) (goto_statement "goto LAB_0019fd71;" goto statement_identifier ;) })) }) (else_clause "else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" else (if_statement "if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" { (labeled_statement "LAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);" statement_identifier : (expression_statement "uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);" (assignment_expression "uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4)" identifier = (pointer_expression "*(uint *)((long)__s + (ulong)uVar27 * 4)" * (cast_expression "(uint *)((long)__s + (ulong)uVar27 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + (ulong)uVar27 * 4)" ( (binary_expression "(long)__s + (ulong)uVar27 * 4" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar27 * 4" (cast_expression "(ulong)uVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;)) (goto_statement "goto LAB_0019fc56;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);" statement_identifier : (expression_statement "uVar10 = *(uint *)(lVar15 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar15 + 0x1c)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x1c)" * (cast_expression "(uint *)(lVar15 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x1c)" ( (binary_expression "lVar15 + 0x1c" identifier + number_literal) ))))) ;)) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" else (compound_statement "{\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" { (if_statement "if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3c) & 4) != 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3c) & 4) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3c) & 4)" ( (binary_expression "*(byte *)(lVar15 + 0x3c) & 4" (pointer_expression "*(byte *)(lVar15 + 0x3c)" * (cast_expression "(byte *)(lVar15 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3c)" ( (binary_expression "lVar15 + 0x3c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0019fd3a;" goto statement_identifier ;)) (expression_statement "uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);" (assignment_expression "uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" identifier = (unary_expression "-(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" - (call_expression "(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" ( (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1" (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3 & 1" (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3" (pointer_expression "*(byte *)(lVar15 + 0x3b)" * (cast_expression "(byte *)(lVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3b)" ( (binary_expression "lVar15 + 0x3b" identifier + number_literal) )))) >> number_literal) & number_literal) ^ number_literal) ))))) ;) (labeled_statement "LAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);" statement_identifier : (expression_statement "uVar10 = *(uint *)(lVar15 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar15 + 0x1c)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x1c)" * (cast_expression "(uint *)(lVar15 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x1c)" ( (binary_expression "lVar15 + 0x1c" identifier + number_literal) ))))) ;)) }))) (if_statement "if (uVar10 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }" { (labeled_statement "LAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;)) })) (if_statement "if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" if (parenthesized_expression "(*(code **)(*plVar4 + 0x100) == FUN_001550f0)" ( (binary_expression "*(code **)(*plVar4 + 0x100) == FUN_001550f0" (pointer_expression "*(code **)(*plVar4 + 0x100)" * (cast_expression "(code **)(*plVar4 + 0x100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x100)" ( (binary_expression "*plVar4 + 0x100" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }" { (expression_statement "uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);" (assignment_expression "uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4)" identifier = (pointer_expression "*(uint *)(plVar4[0x12] + uVar21 * 4)" * (cast_expression "(uint *)(plVar4[0x12] + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4[0x12] + uVar21 * 4)" ( (binary_expression "plVar4[0x12] + uVar21 * 4" (subscript_expression "plVar4[0x12]" identifier [ number_literal ]) + (binary_expression "uVar21 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" else (compound_statement "{\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" { (expression_statement "uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);" (assignment_expression "uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 0x100))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x100))" ( (pointer_expression "**(code **)(*plVar4 + 0x100)" * (pointer_expression "*(code **)(*plVar4 + 0x100)" * (cast_expression "(code **)(*plVar4 + 0x100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x100)" ( (binary_expression "*plVar4 + 0x100" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (if_statement "if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar26 = 0;\n          uVar24 = 0;\n        }" { (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" else (compound_statement "{\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" { (if_statement "if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" if (parenthesized_expression "((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24))" ( (binary_expression "(uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)" (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(uVar24 = uVar10 - iVar2, param_6 <= uVar24)" ( (comma_expression "uVar24 = uVar10 - iVar2, param_6 <= uVar24" (assignment_expression "uVar24 = uVar10 - iVar2" identifier = (binary_expression "uVar10 - iVar2" identifier - identifier)) , (binary_expression "param_6 <= uVar24" identifier <= identifier)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x678,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" if (parenthesized_expression "(*(code **)(*plVar4 + 0xf8) == FUN_001550e0)" ( (binary_expression "*(code **)(*plVar4 + 0xf8) == FUN_001550e0" (pointer_expression "*(code **)(*plVar4 + 0xf8)" * (cast_expression "(code **)(*plVar4 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xf8)" ( (binary_expression "*plVar4 + 0xf8" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }" { (expression_statement "iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);" (assignment_expression "iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4)" identifier = (pointer_expression "*(int *)(plVar4[0x13] + uVar21 * 4)" * (cast_expression "(int *)(plVar4[0x13] + uVar21 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4[0x13] + uVar21 * 4)" ( (binary_expression "plVar4[0x13] + uVar21 * 4" (subscript_expression "plVar4[0x13]" identifier [ number_literal ]) + (binary_expression "uVar21 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" else (compound_statement "{\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" { (expression_statement "iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);" (assignment_expression "iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff)" identifier = (call_expression "(**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff)" (parenthesized_expression "(**(code **)(*plVar4 + 0xf8))" ( (pointer_expression "**(code **)(*plVar4 + 0xf8)" * (pointer_expression "*(code **)(*plVar4 + 0xf8)" * (cast_expression "(code **)(*plVar4 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xf8)" ( (binary_expression "*plVar4 + 0xf8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,uVar21 & 0xffffffff)" ( identifier , (binary_expression "uVar21 & 0xffffffff" identifier & number_literal) )))) ;) }))) (expression_statement "uVar26 = iVar12 * 0x18;" (assignment_expression "uVar26 = iVar12 * 0x18" identifier = (binary_expression "iVar12 * 0x18" identifier * number_literal)) ;) (expression_statement "puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);" (assignment_expression "puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4)" identifier = (cast_expression "(uint *)(param_5 + (ulong)uVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + (ulong)uVar24 * 4)" ( (binary_expression "param_5 + (ulong)uVar24 * 4" identifier + (binary_expression "(ulong)uVar24 * 4" (cast_expression "(ulong)uVar24" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;" (assignment_expression "uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" identifier = (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" ( (binary_expression "uVar26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" ( (binary_expression "uVar26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "iVar12 * 0x18000000" identifier * number_literal))) ;) (expression_statement "uVar26 = *puVar18;" (assignment_expression "uVar26 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "*puVar18 = (int)puVar23 - iVar7;" (assignment_expression "*puVar18 = (int)puVar23 - iVar7" (pointer_expression "*puVar18" * identifier) = (binary_expression "(int)puVar23 - iVar7" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;" (assignment_expression "uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18" identifier = (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" ( (binary_expression "uVar26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" ( (binary_expression "uVar26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar26 << 0x18" identifier << number_literal))) ;) }))) (expression_statement "puVar23[4] = uVar24;" (assignment_expression "puVar23[4] = uVar24" (subscript_expression "puVar23[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "*puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar18 = puVar23 + 5;" (assignment_expression "puVar18 = puVar23 + 5" identifier = (binary_expression "puVar23 + 5" identifier + number_literal)) ;) (expression_statement "puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;" (assignment_expression "puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar23[2] = uVar26;" (assignment_expression "puVar23[2] = uVar26" (subscript_expression "puVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;" (assignment_expression "puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (subscript_expression "puVar23[3]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     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 "bVar28 = local_68 - 1 != uVar21;" (assignment_expression "bVar28 = local_68 - 1 != uVar21" identifier = (binary_expression "local_68 - 1 != uVar21" (binary_expression "local_68 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) })) (if_statement "if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }" { (expression_statement "thunk_FUN_002dac60(__s);" (call_expression "thunk_FUN_002dac60(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "param_3 = puVar18;" (assignment_expression "param_3 = puVar18" identifier = identifier) ;) }) (else_clause "else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" else (compound_statement "{\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" { (expression_statement "puVar22 = *(ulong **)(lVar13 + 0x60);" (assignment_expression "puVar22 = *(ulong **)(lVar13 + 0x60)" identifier = (pointer_expression "*(ulong **)(lVar13 + 0x60)" * (cast_expression "(ulong **)(lVar13 + 0x60)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;" (assignment_expression "param_3 = puVar18 + (ulong)(uVar25 - 1) + 1" identifier = (binary_expression "puVar18 + (ulong)(uVar25 - 1) + 1" (binary_expression "puVar18 + (ulong)(uVar25 - 1)" identifier + (call_expression "(ulong)(uVar25 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar25 - 1)" ( (binary_expression "uVar25 - 1" identifier - number_literal) )))) + number_literal)) ;) (do_statement "do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);" do (compound_statement "{\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      }" { (while_statement "while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }" while (parenthesized_expression "(uVar21 = *puVar22, uVar21 == 0)" ( (comma_expression "uVar21 = *puVar22, uVar21 == 0" (assignment_expression "uVar21 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) , (binary_expression "uVar21 == 0" identifier == number_literal)) )) (compound_statement "{\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }" { (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (if_statement "if (puVar18 == param_3) goto LAB_0019fed8;" if (parenthesized_expression "(puVar18 == param_3)" ( (binary_expression "puVar18 == param_3" identifier == identifier) )) (goto_statement "goto LAB_0019fed8;" goto statement_identifier ;)) })) (if_statement "if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < uVar21)" ( (binary_expression "*(ulong *)(param_4 + 0x50) < uVar21" (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "puVar23 = puVar18 + 1;" (assignment_expression "puVar23 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" * (cast_expression "(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" ( (binary_expression "*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18" (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) )))) + (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" ( (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" identifier - number_literal) >> number_literal) )) * number_literal)) )))) + (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar18" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(puVar23 != param_3)" ( (binary_expression "puVar23 != param_3" identifier != identifier) )) ;) (labeled_statement "LAB_0019fed8:\n      thunk_FUN_002dac60(__s);" statement_identifier : (expression_statement "thunk_FUN_002dac60(__s);" (call_expression "thunk_FUN_002dac60(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) }))) (break_statement "break;" break ;)) (case_statement "case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6d4,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x30))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x30))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x30))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x30)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x30)" * (cast_expression "(code **)(*(long *)*local_88 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x30)" ( (binary_expression "*(long *)*local_88 + 0x30" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6d6,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar15 = *(long *)(lVar13 + 0x38);" (assignment_expression "lVar15 = *(long *)(lVar13 + 0x38)" identifier = (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar23 = param_3 + 2;" (assignment_expression "puVar23 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "puVar22 = *(ulong **)(lVar13 + 0x50);" (assignment_expression "puVar22 = *(ulong **)(lVar13 + 0x50)" identifier = (pointer_expression "*(ulong **)(lVar13 + 0x50)" * (cast_expression "(ulong **)(lVar13 + 0x50)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar19 = *(long *)(lVar13 + 0x58);" (assignment_expression "lVar19 = *(long *)(lVar13 + 0x58)" identifier = (pointer_expression "*(long *)(lVar13 + 0x58)" * (cast_expression "(long *)(lVar13 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x58)" ( (binary_expression "lVar13 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);" (assignment_expression "uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" identifier = (call_expression "(uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" ( (binary_expression "*(long *)(lVar13 + 0x40) - lVar15 >> 3" (binary_expression "*(long *)(lVar13 + 0x40) - lVar15" (pointer_expression "*(long *)(lVar13 + 0x40)" * (cast_expression "(long *)(lVar13 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x40)" ( (binary_expression "lVar13 + 0x40" identifier + number_literal) )))) - identifier) >> number_literal) )))) ;) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);" (assignment_expression "uVar25 = (uint)(lVar19 - (long)puVar22 >> 3)" identifier = (call_expression "(uint)(lVar19 - (long)puVar22 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar19 - (long)puVar22 >> 3)" ( (binary_expression "lVar19 - (long)puVar22 >> 3" (binary_expression "lVar19 - (long)puVar22" identifier - (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )))) ;) (expression_statement "param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);" do (compound_statement "{\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      }" { (expression_statement "uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);" (assignment_expression "uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" identifier = (pointer_expression "*(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" * (cast_expression "(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + uVar21 * 8) + 0x14)" ( (binary_expression "*(long *)(lVar15 + uVar21 * 8) + 0x14" (pointer_expression "*(long *)(lVar15 + uVar21 * 8)" * (cast_expression "(long *)(lVar15 + uVar21 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + uVar21 * 8)" ( (binary_expression "lVar15 + uVar21 * 8" identifier + (binary_expression "uVar21 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;" (assignment_expression "param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (subscript_expression "param_3[uVar21 + 2]" identifier [ (binary_expression "uVar21 + 2" identifier + number_literal) ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar28 = uVar27 - 1 != uVar21;" (assignment_expression "bVar28 = uVar27 - 1 != uVar21" identifier = (binary_expression "uVar27 - 1 != uVar21" (binary_expression "uVar27 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;" (assignment_expression "puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1" identifier = (binary_expression "puVar23 + (ulong)(uVar27 - 1) + 1" (binary_expression "puVar23 + (ulong)(uVar27 - 1)" identifier + (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" identifier = identifier) ;) (if_statement "if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }" { (expression_statement "uVar21 = *puVar22;" (assignment_expression "uVar21 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "uVar14 = *(ulong *)(param_4 + 0x50);" (assignment_expression "uVar14 = *(ulong *)(param_4 + 0x50)" identifier = (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (uVar14 < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(uVar14 < uVar21)" ( (binary_expression "uVar14 < uVar21" identifier < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;" (assignment_expression "param_3 = puVar23 + (ulong)(uVar25 - 1) + 1" identifier = (binary_expression "puVar23 + (ulong)(uVar25 - 1) + 1" (binary_expression "puVar23 + (ulong)(uVar25 - 1)" identifier + (call_expression "(ulong)(uVar25 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar25 - 1)" ( (binary_expression "uVar25 - 1" identifier - number_literal) )))) + number_literal)) ;) (expression_statement "lVar13 = *(long *)(param_4 + 0x38);" (assignment_expression "lVar13 = *(long *)(param_4 + 0x38)" identifier = (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }" { (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (binary_expression "*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" * (cast_expression "(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" ( (binary_expression "lVar13 + (uVar21 - 1 >> 0xd) * 0x18" identifier + (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" ( (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" identifier - number_literal) >> number_literal) )) * number_literal)) )))) + (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (if_statement "if (puVar23 + 1 == param_3) break;" if (parenthesized_expression "(puVar23 + 1 == param_3)" ( (binary_expression "puVar23 + 1 == param_3" (binary_expression "puVar23 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar21 = *puVar22;" (assignment_expression "uVar21 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (if_statement "if (uVar14 < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(uVar14 < uVar21)" ( (binary_expression "uVar14 < uVar21" identifier < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) })) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69a,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x28))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x28))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x28)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x28)" * (cast_expression "(code **)(*(long *)*local_88 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x28)" ( (binary_expression "*(long *)*local_88 + 0x28" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69c,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "plVar4 = *(long **)(lVar13 + 0x40);" (assignment_expression "plVar4 = *(long **)(lVar13 + 0x40)" identifier = (pointer_expression "*(long **)(lVar13 + 0x40)" * (cast_expression "(long **)(lVar13 + 0x40)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x40)" ( (binary_expression "lVar13 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "lVar15 = (**(code **)(*plVar4 + 0x20))();" (assignment_expression "lVar15 = (**(code **)(*plVar4 + 0x20))()" identifier = (call_expression "(**(code **)(*plVar4 + 0x20))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x20))" ( (pointer_expression "**(code **)(*plVar4 + 0x20)" * (pointer_expression "*(code **)(*plVar4 + 0x20)" * (cast_expression "(code **)(*plVar4 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x20)" ( (binary_expression "*plVar4 + 0x20" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar15 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69f,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();" (assignment_expression "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))()" identifier = (cast_expression "(long *)(**(code **)(*plVar4 + 0xe8))()" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar4 + 0xe8))()" (parenthesized_expression "(**(code **)(*plVar4 + 0xe8))" ( (pointer_expression "**(code **)(*plVar4 + 0xe8)" * (pointer_expression "*(code **)(*plVar4 + 0xe8)" * (cast_expression "(code **)(*plVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xe8)" ( (binary_expression "*plVar4 + 0xe8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" if (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38))" ( (binary_expression "*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)" (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) )))) < (pointer_expression "*(ulong *)(lVar13 + 0x38)" * (cast_expression "(ulong *)(lVar13 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" { (labeled_statement "LAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key")" identifier (argument_list "("../../gold/stringpool.h",0x108,"get_offset_from_key")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""get_offset_from_key"" " string_content ") ))) ;)) })) (expression_statement "uVar21 = *(ulong *)(lVar13 + 0x38) - 1;" (assignment_expression "uVar21 = *(ulong *)(lVar13 + 0x38) - 1" identifier = (binary_expression "*(ulong *)(lVar13 + 0x38) - 1" (pointer_expression "*(ulong *)(lVar13 + 0x38)" * (cast_expression "(ulong *)(lVar13 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "puVar23 = param_3 + 2;" (assignment_expression "puVar23 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "lVar13 = plVar16[1];" (assignment_expression "lVar13 = plVar16[1]" identifier = (subscript_expression "plVar16[1]" identifier [ number_literal ])) ;) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8" (pointer_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" * (cast_expression "(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" ( (binary_expression "*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18" (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) )))) + (binary_expression "(uVar21 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 >> 0xd)" ( (binary_expression "uVar21 >> 0xd" identifier >> number_literal) )) * number_literal)) )))) + (binary_expression "(ulong)((uint)uVar21 & 0x1fff) * 8" (call_expression "(ulong)((uint)uVar21 & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar21 & 0x1fff)" ( (binary_expression "(uint)uVar21 & 0x1fff" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "uVar27 = (uint)(lVar13 - lVar19 >> 3);" (assignment_expression "uVar27 = (uint)(lVar13 - lVar19 >> 3)" identifier = (call_expression "(uint)(lVar13 - lVar19 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar13 - lVar19 >> 3)" ( (binary_expression "lVar13 - lVar19 >> 3" (binary_expression "lVar13 - lVar19" identifier - identifier) >> number_literal) )))) ;) (if_statement "if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }" { (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) (do_statement "do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );" do (compound_statement "{\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      }" { (expression_statement "lVar19 = *(long *)(lVar19 + lVar13);" (assignment_expression "lVar19 = *(long *)(lVar19 + lVar13)" identifier = (pointer_expression "*(long *)(lVar19 + lVar13)" * (cast_expression "(long *)(lVar19 + lVar13)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + lVar13)" ( (binary_expression "lVar19 + lVar13" identifier + identifier) ))))) ;) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) (if_statement "if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }" if (parenthesized_expression "(lVar19 != 0)" ( (binary_expression "lVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }" { (if_statement "if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }" if (parenthesized_expression "((*(byte *)(lVar19 + 0x3a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(lVar19 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)(lVar19 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar19 + 0x3a)" * (cast_expression "(byte *)(lVar19 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3a)" ( (binary_expression "lVar19 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }" { (expression_statement "lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);" (assignment_expression "lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier = (call_expression "FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x40),lVar19)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier )))) ;) })) (expression_statement "uVar10 = *(uint *)(lVar19 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar19 + 0x1c)" identifier = (pointer_expression "*(uint *)(lVar19 + 0x1c)" * (cast_expression "(uint *)(lVar19 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x1c)" ( (binary_expression "lVar19 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (uVar10 == 0) goto LAB_0019fd47;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0019fd47;" goto statement_identifier ;)) (if_statement "if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }" if (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }" { (if_statement "if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" if (parenthesized_expression "((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2)" ( (binary_expression "(*(byte *)(lVar19 + 0x39) & 3) - 1 < 2" (binary_expression "(*(byte *)(lVar19 + 0x39) & 3) - 1" (parenthesized_expression "(*(byte *)(lVar19 + 0x39) & 3)" ( (binary_expression "*(byte *)(lVar19 + 0x39) & 3" (pointer_expression "*(byte *)(lVar19 + 0x39)" * (cast_expression "(byte *)(lVar19 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x39)" ( (binary_expression "lVar19 + 0x39" identifier + number_literal) )))) & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n              uVar10 = uVar10 | 0x80000000;\n            }" { (expression_statement "uVar10 = uVar10 | 0x80000000;" (assignment_expression "uVar10 = uVar10 | 0x80000000" identifier = (binary_expression "uVar10 | 0x80000000" identifier | number_literal)) ;) }) (else_clause "else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" else (compound_statement "{\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" { (if_statement "if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" if (parenthesized_expression "(((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10)))" ( (binary_expression "((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))" (parenthesized_expression "((*(byte *)(lVar19 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar19 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar19 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar19 + 0x3a)" * (cast_expression "(byte *)(lVar19 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3a)" ( (binary_expression "lVar19 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(plVar4 == *(long **)(lVar19 + 0x10))" ( (binary_expression "plVar4 == *(long **)(lVar19 + 0x10)" identifier == (pointer_expression "*(long **)(lVar19 + 0x10)" * (cast_expression "(long **)(lVar19 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar19 + 0x10)" ( (binary_expression "lVar19 + 0x10" identifier + number_literal) ))))) ))) )) (compound_statement "{\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }" { (expression_statement "bVar1 = *(byte *)(lVar19 + 0x3b);" (assignment_expression "bVar1 = *(byte *)(lVar19 + 0x3b)" identifier = (pointer_expression "*(byte *)(lVar19 + 0x3b)" * (cast_expression "(byte *)(lVar19 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3b)" ( (binary_expression "lVar19 + 0x3b" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" if (parenthesized_expression "((bVar1 & 0x20) != 0)" ( (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" { (expression_statement "uVar10 = uVar10 | 0x80000000;" (assignment_expression "uVar10 = uVar10 | 0x80000000" identifier = (binary_expression "uVar10 | 0x80000000" identifier | number_literal)) ;) (if_statement "if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;" if (parenthesized_expression "(*(int *)(lVar19 + 0x18) != 0)" ( (binary_expression "*(int *)(lVar19 + 0x18) != 0" (pointer_expression "*(int *)(lVar19 + 0x18)" * (cast_expression "(int *)(lVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x18)" ( (binary_expression "lVar19 + 0x18" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0019f725;" goto statement_identifier ;)) (labeled_statement "LAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;" statement_identifier : (if_statement "if ((bVar1 & 8) != 0) goto LAB_0019f792;" if (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0019f792;" goto statement_identifier ;))) (goto_statement "goto LAB_0019f7ae;" goto statement_identifier ;) })) (expression_statement "cVar8 = FUN_00270fe0();" (assignment_expression "cVar8 = FUN_00270fe0()" identifier = (call_expression "FUN_00270fe0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = 0x80000000;" (assignment_expression "uVar10 = 0x80000000" identifier = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }" { (expression_statement "bVar1 = *(byte *)(lVar19 + 0x3b);" (assignment_expression "bVar1 = *(byte *)(lVar19 + 0x3b)" identifier = (pointer_expression "*(byte *)(lVar19 + 0x3b)" * (cast_expression "(byte *)(lVar19 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3b)" ( (binary_expression "lVar19 + 0x3b" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0019ff09;" goto statement_identifier ;) })) }) (else_clause "else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" else (compound_statement "{\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" { (if_statement "if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;" if (parenthesized_expression "((*(byte *)(lVar19 + 0x3b) & 8) == 0)" ( (binary_expression "(*(byte *)(lVar19 + 0x3b) & 8) == 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3b) & 8)" ( (binary_expression "*(byte *)(lVar19 + 0x3b) & 8" (pointer_expression "*(byte *)(lVar19 + 0x3b)" * (cast_expression "(byte *)(lVar19 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3b)" ( (binary_expression "lVar19 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019f725;" goto statement_identifier ;)) (labeled_statement "LAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);" statement_identifier : (expression_statement "lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);" (assignment_expression "lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier = (call_expression "FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x40),lVar19)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" if (parenthesized_expression "(lVar17 == lVar15)" ( (binary_expression "lVar17 == lVar15" identifier == identifier) )) (compound_statement "{\n                  uVar10 = 0xc0000000;\n                }" { (expression_statement "uVar10 = 0xc0000000;" (assignment_expression "uVar10 = 0xc0000000" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" else (compound_statement "{\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" { (labeled_statement "LAB_0019f7ae:\n                  uVar10 = 0;" statement_identifier : (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;)) }))) }))) (if_statement "if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;" if (parenthesized_expression "(*(uint *)(lVar19 + 0x1c) == 0)" ( (binary_expression "*(uint *)(lVar19 + 0x1c) == 0" (pointer_expression "*(uint *)(lVar19 + 0x1c)" * (cast_expression "(uint *)(lVar19 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x1c)" ( (binary_expression "lVar19 + 0x1c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019fd47;" goto statement_identifier ;)) (expression_statement "uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;" (assignment_expression "uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10" identifier = (binary_expression "*(uint *)(lVar19 + 0x1c) | uVar10" (pointer_expression "*(uint *)(lVar19 + 0x1c)" * (cast_expression "(uint *)(lVar19 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x1c)" ( (binary_expression "lVar19 + 0x1c" identifier + number_literal) )))) | identifier)) ;) }))) (labeled_statement "LAB_0019f725:\n            puVar23 = puVar18 + 1;" statement_identifier : (expression_statement "puVar23 = puVar18 + 1;" (assignment_expression "puVar23 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;" (assignment_expression "*puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18" (pointer_expression "*puVar18" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) })) })) (if_statement "if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;" if (parenthesized_expression "((ulong)(uVar27 - 1) * 8 - lVar13 == 0)" ( (binary_expression "(ulong)(uVar27 - 1) * 8 - lVar13 == 0" (binary_expression "(ulong)(uVar27 - 1) * 8 - lVar13" (binary_expression "(ulong)(uVar27 - 1) * 8" (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) ))) * number_literal) - identifier) == number_literal) )) (goto_statement "goto LAB_0019fe30;" goto statement_identifier ;)) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "lVar13 = lVar13 + 8;" (assignment_expression "lVar13 = lVar13 + 8" identifier = (binary_expression "lVar13 + 8" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_0019fe3e;" goto statement_identifier ;)) (case_statement "case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x5ff,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x18))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x18))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x18))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x18)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x18)" * (cast_expression "(code **)(*(long *)*local_88 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x18)" ( (binary_expression "*(long *)*local_88 + 0x18" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x601,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar15 = *(long *)(lVar13 + 0x38);" (assignment_expression "lVar15 = *(long *)(lVar13 + 0x38)" identifier = (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar23 = param_3 + 1;" (assignment_expression "puVar23 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;" (assignment_expression "uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3" identifier = (binary_expression "*(long *)(lVar13 + 0x40) - lVar15 >> 3" (binary_expression "*(long *)(lVar13 + 0x40) - lVar15" (pointer_expression "*(long *)(lVar13 + 0x40)" * (cast_expression "(long *)(lVar13 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x40)" ( (binary_expression "lVar13 + 0x40" identifier + number_literal) )))) - identifier) >> number_literal)) ;) (expression_statement "uVar27 = (uint)uVar21;" (assignment_expression "uVar27 = (uint)uVar21" identifier = (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" identifier = identifier) ;) (if_statement "if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" { (expression_statement "uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);" (assignment_expression "uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" identifier = (pointer_expression "*(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" * (cast_expression "(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + uVar14 * 8) + 0x14)" ( (binary_expression "*(long *)(lVar15 + uVar14 * 8) + 0x14" (pointer_expression "*(long *)(lVar15 + uVar14 * 8)" * (cast_expression "(long *)(lVar15 + uVar14 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + uVar14 * 8)" ( (binary_expression "lVar15 + uVar14 * 8" identifier + (binary_expression "uVar14 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "*puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;" (assignment_expression "*puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3 = puVar23 + 1;" (assignment_expression "param_3 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (if_statement "if (uVar27 - 1 == uVar14) break;" if (parenthesized_expression "(uVar27 - 1 == uVar14)" ( (binary_expression "uVar27 - 1 == uVar14" (binary_expression "uVar27 - 1" identifier - number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 == uVar14) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }" if (parenthesized_expression "(uVar21 == uVar14)" ( (binary_expression "uVar21 == uVar14" identifier == identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }" { comment (expression_statement "FUN_0017c650("../../gold/incremental.h",0x149,"get_object");" (call_expression "FUN_0017c650("../../gold/incremental.h",0x149,"get_object")" identifier (argument_list "("../../gold/incremental.h",0x149,"get_object")" ( (string_literal ""../../gold/incremental.h"" " string_content ") , number_literal , (string_literal ""get_object"" " string_content ") ))) ;) })) })) }))) })) (goto_statement "goto LAB_0019f5f4;" goto statement_identifier ;) (labeled_statement "LAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;" statement_identifier : (expression_statement "uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;" (assignment_expression "uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" identifier = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;)) (labeled_statement "LAB_0019fe3e:\n  param_3[1] = uVar27;" statement_identifier : (expression_statement "param_3[1] = uVar27;" (assignment_expression "param_3[1] = uVar27" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" identifier = identifier) ;) (labeled_statement "LAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" statement_identifier : (if_statement "if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" if (parenthesized_expression "(((long)param_3 - param_2 & 4U) != 0)" ( (binary_expression "((long)param_3 - param_2 & 4U) != 0" (parenthesized_expression "((long)param_3 - param_2 & 4U)" ( (binary_expression "(long)param_3 - param_2 & 4U" (binary_expression "(long)param_3 - param_2" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" { (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (if_statement "if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }" if (parenthesized_expression "((long *)plVar3[1] == local_88)" ( (binary_expression "(long *)plVar3[1] == local_88" (cast_expression "(long *)plVar3[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[1]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n    return param_3;\n  }" { (return_statement "return param_3;" return identifier ;) })) (goto_statement "goto LAB_0019f550;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* DWARF original prototype: uchar * write_info_blocks(Output_section_incremental_inputs<64,_true> *\n   this, uchar * oview, uchar * pov, Stringpool * strtab, uint * global_syms, uint global_sym_count)\n    */\n\nuchar * __thiscall\ngold::Output_section_incremental_inputs<64,_true>::write_info_blocks\n          (Output_section_incremental_inputs<64,_true> *this,uchar *oview,uchar *pov,\n          Stringpool *strtab,uint *global_syms,uint global_sym_count)\n\n{\n  byte bVar1;\n  uint uVar2;\n  uint uVar3;\n  Incremental_inputs *pIVar4;\n  Object *pOVar5;\n  long lVar6;\n  pointer pvVar7;\n  long lVar8;\n  long lVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  undefined4 extraout_var;\n  ulong uVar17;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  long lVar19;\n  Dynobj *pDVar20;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  undefined4 extraout_var_05;\n  void *__s;\n  uint extraout_var_06;\n  uint *puVar21;\n  Symbol *pSVar22;\n  _func_int_varargs *p_Var23;\n  ulong uVar24;\n  ulong *puVar25;\n  uint *puVar26;\n  uint uVar27;\n  uint uVar28;\n  uint uVar29;\n  long lVar30;\n  pointer local_88;\n  uint local_68;\n  long *plVar18;\n  undefined4 extraout_var_07;\n  \n  pIVar4 = this->inputs_;\n  uVar2 = this->symtab_->first_global_index_;\n  local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;\n  if ((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88) {\n    return (uchar *)(uint *)pov;\n  }\nLAB_0019f550:\n  iVar11 = (*(*local_88)->_vptr_Incremental_input_entry[2])();\n  iVar12 = (int)pov;\n  iVar13 = (int)oview;\n  switch(iVar11) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();\n    lVar30 = CONCAT44(extraout_var_04,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x38);\n    iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);\n    plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);\n    iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);\n    uVar29 = iVar12 * -0x55555555;\n    lVar19 = plVar18[1];\n    lVar6 = *plVar18;\n    p_Var23 = pOVar5->_vptr_Object[0x25];\n    if (p_Var23 == Relobj::local_symbol_offset) {\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }\n    else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }\n    p_Var23 = pOVar5->_vptr_Object[0x24];\n    if (p_Var23 == Relobj::output_local_symbol_count) {\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }\n    else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }\n    uVar16 = *(uint *)&pOVar5[2]._vptr_Object;\n    uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);\n    uVar28 = 0;\n    lVar8 = *(long *)(lVar30 + 0x68);\n    lVar9 = *(long *)(lVar30 + 0x60);\n    *(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n    *(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000;\n    local_68 = (uint)(lVar19 - lVar6 >> 3);\n    *(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n    *(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar27 = (uint)(lVar8 - lVar9 >> 3);\n    puVar26 = (uint *)((long)pov + 0x20);\n    *(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18\n    ;\n    *(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    *(uint *)((long)pov + 0x1c) = 0;\n    __s = operator_new__((ulong)pOVar5->shnum_ << 2);\n    memset(__s,0,(ulong)pOVar5->shnum_ << 2);\n    puVar21 = puVar26;\n    if (uVar29 != 0) {\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }\n    if (local_68 != 0) {\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }\n    if (uVar27 == 0) {\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }\n    else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }\n    break;\n  case 3:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();\n    lVar30 = CONCAT44(extraout_var_03,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 8);\n    puVar25 = *(ulong **)(lVar30 + 0x50);\n    lVar6 = *(long *)(lVar30 + 0x58);\n    uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);\n    *(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    if (uVar29 != 0) {\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }\n    pov = (uchar *)puVar26;\n    if (uVar27 != 0) {\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();\n    lVar30 = CONCAT44(extraout_var_00,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x40);\n    iVar12 = (*pOVar5->_vptr_Object[4])();\n    if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    iVar13 = (*pOVar5->_vptr_Object[0x1d])();\n    plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);\n    if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar24 = *(ulong *)(lVar30 + 0x38) - 1;\n    puVar26 = (uint *)((long)pov + 8);\n    lVar30 = plVar18[1];\n    uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    lVar19 = *plVar18;\n    uVar29 = (uint)(lVar30 - lVar19 >> 3);\n    if (uVar29 != 0) {\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();\n    lVar30 = CONCAT44(extraout_var,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 4);\n    uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;\n    uVar29 = (uint)uVar24;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    pov = (uchar *)puVar26;\n    if (uVar29 != 0) {\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar29 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\nLAB_0019fe3e:\n  *(uint *)((long)pov + 4) = uVar29;\n  pov = (uchar *)puVar26;\nLAB_0019f5f4:\n  if (((long)pov - (long)oview & 4U) != 0) {\n    *(uint *)pov = 0;\n    pov = (uchar *)((long)pov + 4);\n  }\n  local_88 = local_88 + 1;\n  if ((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88) {\n    return pov;\n  }\n  goto LAB_0019f550;\n}\n\n" comment comment (ERROR "uchar * __thiscall\ngold::Output_section_incremental_inputs<64,_true>::write_info_blocks\n          (Output_section_incremental_inputs<64,_true> *this,uchar *oview,uchar *pov,\n          Stringpool *strtab,uint *global_syms,uint global_sym_count)" (binary_expression "uchar * __thiscall\ngold::Output_section_incremental_inputs<64,_true>::write_info_blocks\n          (Output_section_incremental_inputs<64,_true> *this,uchar *oview,uchar *pov,\n          Stringpool *strtab,uint *global_syms,uint global_sym_count)" (binary_expression "uchar * __thiscall\ngold::Output_section_incremental_inputs<64" (binary_expression "uchar * __thiscall" identifier * identifier) (ERROR "gold::Output_section_incremental_inputs" identifier : : identifier) < number_literal) (ERROR ",_true" , identifier) > (ERROR "::" : :) (call_expression "write_info_blocks\n          (Output_section_incremental_inputs<64,_true> *this,uchar *oview,uchar *pov,\n          Stringpool *strtab,uint *global_syms,uint global_sym_count)" identifier (argument_list "(Output_section_incremental_inputs<64,_true> *this,uchar *oview,uchar *pov,\n          Stringpool *strtab,uint *global_syms,uint global_sym_count)" ( (binary_expression "Output_section_incremental_inputs<64" identifier < number_literal) , (binary_expression "_true> *this" identifier > (pointer_expression "*this" * identifier)) , (binary_expression "uchar *oview" identifier * identifier) , (binary_expression "uchar *pov" identifier * identifier) , (binary_expression "Stringpool *strtab" identifier * identifier) , (binary_expression "uint *global_syms" identifier * identifier) , (ERROR "uint" identifier) identifier ))))) (compound_statement "{\n  byte bVar1;\n  uint uVar2;\n  uint uVar3;\n  Incremental_inputs *pIVar4;\n  Object *pOVar5;\n  long lVar6;\n  pointer pvVar7;\n  long lVar8;\n  long lVar9;\n  bool bVar10;\n  int iVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  uint uVar15;\n  uint uVar16;\n  undefined4 extraout_var;\n  ulong uVar17;\n  undefined4 extraout_var_00;\n  undefined4 extraout_var_01;\n  undefined4 extraout_var_02;\n  long lVar19;\n  Dynobj *pDVar20;\n  undefined4 extraout_var_03;\n  undefined4 extraout_var_04;\n  undefined4 extraout_var_05;\n  void *__s;\n  uint extraout_var_06;\n  uint *puVar21;\n  Symbol *pSVar22;\n  _func_int_varargs *p_Var23;\n  ulong uVar24;\n  ulong *puVar25;\n  uint *puVar26;\n  uint uVar27;\n  uint uVar28;\n  uint uVar29;\n  long lVar30;\n  pointer local_88;\n  uint local_68;\n  long *plVar18;\n  undefined4 extraout_var_07;\n  \n  pIVar4 = this->inputs_;\n  uVar2 = this->symtab_->first_global_index_;\n  local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;\n  if ((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88) {\n    return (uchar *)(uint *)pov;\n  }\nLAB_0019f550:\n  iVar11 = (*(*local_88)->_vptr_Incremental_input_entry[2])();\n  iVar12 = (int)pov;\n  iVar13 = (int)oview;\n  switch(iVar11) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();\n    lVar30 = CONCAT44(extraout_var_04,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x38);\n    iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);\n    plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);\n    iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);\n    uVar29 = iVar12 * -0x55555555;\n    lVar19 = plVar18[1];\n    lVar6 = *plVar18;\n    p_Var23 = pOVar5->_vptr_Object[0x25];\n    if (p_Var23 == Relobj::local_symbol_offset) {\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }\n    else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }\n    p_Var23 = pOVar5->_vptr_Object[0x24];\n    if (p_Var23 == Relobj::output_local_symbol_count) {\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }\n    else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }\n    uVar16 = *(uint *)&pOVar5[2]._vptr_Object;\n    uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);\n    uVar28 = 0;\n    lVar8 = *(long *)(lVar30 + 0x68);\n    lVar9 = *(long *)(lVar30 + 0x60);\n    *(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n    *(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000;\n    local_68 = (uint)(lVar19 - lVar6 >> 3);\n    *(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n    *(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar27 = (uint)(lVar8 - lVar9 >> 3);\n    puVar26 = (uint *)((long)pov + 0x20);\n    *(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18\n    ;\n    *(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    *(uint *)((long)pov + 0x1c) = 0;\n    __s = operator_new__((ulong)pOVar5->shnum_ << 2);\n    memset(__s,0,(ulong)pOVar5->shnum_ << 2);\n    puVar21 = puVar26;\n    if (uVar29 != 0) {\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }\n    if (local_68 != 0) {\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }\n    if (uVar27 == 0) {\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }\n    else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }\n    break;\n  case 3:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();\n    lVar30 = CONCAT44(extraout_var_03,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 8);\n    puVar25 = *(ulong **)(lVar30 + 0x50);\n    lVar6 = *(long *)(lVar30 + 0x58);\n    uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);\n    *(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    if (uVar29 != 0) {\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }\n    pov = (uchar *)puVar26;\n    if (uVar27 != 0) {\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();\n    lVar30 = CONCAT44(extraout_var_00,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x40);\n    iVar12 = (*pOVar5->_vptr_Object[4])();\n    if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    iVar13 = (*pOVar5->_vptr_Object[0x1d])();\n    plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);\n    if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar24 = *(ulong *)(lVar30 + 0x38) - 1;\n    puVar26 = (uint *)((long)pov + 8);\n    lVar30 = plVar18[1];\n    uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    lVar19 = *plVar18;\n    uVar29 = (uint)(lVar30 - lVar19 >> 3);\n    if (uVar29 != 0) {\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();\n    lVar30 = CONCAT44(extraout_var,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 4);\n    uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;\n    uVar29 = (uint)uVar24;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    pov = (uchar *)puVar26;\n    if (uVar29 != 0) {\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar29 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\nLAB_0019fe3e:\n  *(uint *)((long)pov + 4) = uVar29;\n  pov = (uchar *)puVar26;\nLAB_0019f5f4:\n  if (((long)pov - (long)oview & 4U) != 0) {\n    *(uint *)pov = 0;\n    pov = (uchar *)((long)pov + 4);\n  }\n  local_88 = local_88 + 1;\n  if ((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88) {\n    return pov;\n  }\n  goto LAB_0019f550;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Incremental_inputs *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "Object *pOVar5;" type_identifier (pointer_declarator "*pOVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "pointer pvVar7;" type_identifier identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "bool bVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "undefined4 extraout_var_01;" type_identifier identifier ;) (declaration "undefined4 extraout_var_02;" type_identifier identifier ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "Dynobj *pDVar20;" type_identifier (pointer_declarator "*pDVar20" * identifier) ;) (declaration "undefined4 extraout_var_03;" type_identifier identifier ;) (declaration "undefined4 extraout_var_04;" type_identifier identifier ;) (declaration "undefined4 extraout_var_05;" type_identifier identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint extraout_var_06;" type_identifier identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "Symbol *pSVar22;" type_identifier (pointer_declarator "*pSVar22" * identifier) ;) (declaration "_func_int_varargs *p_Var23;" type_identifier (pointer_declarator "*p_Var23" * identifier) ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "ulong *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "uint *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "uint uVar28;" type_identifier identifier ;) (declaration "uint uVar29;" type_identifier identifier ;) (declaration "long lVar30;" (sized_type_specifier "long" long) identifier ;) (declaration "pointer local_88;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "long *plVar18;" (sized_type_specifier "long" long) (pointer_declarator "*plVar18" * identifier) ;) (declaration "undefined4 extraout_var_07;" type_identifier identifier ;) (expression_statement "pIVar4 = this->inputs_;" (assignment_expression "pIVar4 = this->inputs_" identifier = (field_expression "this->inputs_" identifier -> field_identifier)) ;) (expression_statement "uVar2 = this->symtab_->first_global_index_;" (assignment_expression "uVar2 = this->symtab_->first_global_index_" identifier = (field_expression "this->symtab_->first_global_index_" (field_expression "this->symtab_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start;" (field_expression "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl._M_start" (field_expression "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n             ._M_impl" (binary_expression "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold::Incremental_input_entry*,_std" (assignment_expression "local_88 = (pIVar4->inputs_).\n             super__Vector_base<gold" identifier = (binary_expression "(pIVar4->inputs_).\n             super__Vector_base<gold" (field_expression "(pIVar4->inputs_).\n             super__Vector_base" (parenthesized_expression "(pIVar4->inputs_)" ( (field_expression "pIVar4->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88) {\n    return (uchar *)(uint *)pov;\n  }" if (parenthesized_expression "((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88)" ( (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88" (field_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish" (field_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold" (field_expression "(pIVar4->inputs_).\n      super__Vector_base" (parenthesized_expression "(pIVar4->inputs_)" ( (field_expression "pIVar4->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n    return (uchar *)(uint *)pov;\n  }" { (return_statement "return (uchar *)(uint *)pov;" return (cast_expression "(uchar *)(uint *)pov" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (labeled_statement "LAB_0019f550:\n  iVar11 = (*(*local_88)->_vptr_Incremental_input_entry[2])();" statement_identifier : (expression_statement "iVar11 = (*(*local_88)->_vptr_Incremental_input_entry[2])();" (assignment_expression "iVar11 = (*(*local_88)->_vptr_Incremental_input_entry[2])()" identifier = (call_expression "(*(*local_88)->_vptr_Incremental_input_entry[2])()" (parenthesized_expression "(*(*local_88)->_vptr_Incremental_input_entry[2])" ( (pointer_expression "*(*local_88)->_vptr_Incremental_input_entry[2]" * (subscript_expression "(*local_88)->_vptr_Incremental_input_entry[2]" (field_expression "(*local_88)->_vptr_Incremental_input_entry" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;)) (expression_statement "iVar12 = (int)pov;" (assignment_expression "iVar12 = (int)pov" identifier = (cast_expression "(int)pov" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar13 = (int)oview;" (assignment_expression "iVar13 = (int)oview" identifier = (cast_expression "(int)oview" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (switch_statement "switch(iVar11) {\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();\n    lVar30 = CONCAT44(extraout_var_04,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x38);\n    iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);\n    plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);\n    iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);\n    uVar29 = iVar12 * -0x55555555;\n    lVar19 = plVar18[1];\n    lVar6 = *plVar18;\n    p_Var23 = pOVar5->_vptr_Object[0x25];\n    if (p_Var23 == Relobj::local_symbol_offset) {\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }\n    else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }\n    p_Var23 = pOVar5->_vptr_Object[0x24];\n    if (p_Var23 == Relobj::output_local_symbol_count) {\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }\n    else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }\n    uVar16 = *(uint *)&pOVar5[2]._vptr_Object;\n    uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);\n    uVar28 = 0;\n    lVar8 = *(long *)(lVar30 + 0x68);\n    lVar9 = *(long *)(lVar30 + 0x60);\n    *(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n    *(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000;\n    local_68 = (uint)(lVar19 - lVar6 >> 3);\n    *(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n    *(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar27 = (uint)(lVar8 - lVar9 >> 3);\n    puVar26 = (uint *)((long)pov + 0x20);\n    *(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18\n    ;\n    *(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    *(uint *)((long)pov + 0x1c) = 0;\n    __s = operator_new__((ulong)pOVar5->shnum_ << 2);\n    memset(__s,0,(ulong)pOVar5->shnum_ << 2);\n    puVar21 = puVar26;\n    if (uVar29 != 0) {\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }\n    if (local_68 != 0) {\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }\n    if (uVar27 == 0) {\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }\n    else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }\n    break;\n  case 3:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();\n    lVar30 = CONCAT44(extraout_var_03,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 8);\n    puVar25 = *(ulong **)(lVar30 + 0x50);\n    lVar6 = *(long *)(lVar30 + 0x58);\n    uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);\n    *(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    if (uVar29 != 0) {\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }\n    pov = (uchar *)puVar26;\n    if (uVar27 != 0) {\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();\n    lVar30 = CONCAT44(extraout_var_00,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x40);\n    iVar12 = (*pOVar5->_vptr_Object[4])();\n    if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    iVar13 = (*pOVar5->_vptr_Object[0x1d])();\n    plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);\n    if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar24 = *(ulong *)(lVar30 + 0x38) - 1;\n    puVar26 = (uint *)((long)pov + 8);\n    lVar30 = plVar18[1];\n    uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    lVar19 = *plVar18;\n    uVar29 = (uint)(lVar30 - lVar19 >> 3);\n    if (uVar29 != 0) {\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();\n    lVar30 = CONCAT44(extraout_var,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 4);\n    uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;\n    uVar29 = (uint)uVar24;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    pov = (uchar *)puVar26;\n    if (uVar29 != 0) {\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" switch (parenthesized_expression "(iVar11)" ( identifier )) (compound_statement "{\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();\n    lVar30 = CONCAT44(extraout_var_04,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x38);\n    iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);\n    plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);\n    iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);\n    uVar29 = iVar12 * -0x55555555;\n    lVar19 = plVar18[1];\n    lVar6 = *plVar18;\n    p_Var23 = pOVar5->_vptr_Object[0x25];\n    if (p_Var23 == Relobj::local_symbol_offset) {\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }\n    else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }\n    p_Var23 = pOVar5->_vptr_Object[0x24];\n    if (p_Var23 == Relobj::output_local_symbol_count) {\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }\n    else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }\n    uVar16 = *(uint *)&pOVar5[2]._vptr_Object;\n    uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);\n    uVar28 = 0;\n    lVar8 = *(long *)(lVar30 + 0x68);\n    lVar9 = *(long *)(lVar30 + 0x60);\n    *(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n    *(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000;\n    local_68 = (uint)(lVar19 - lVar6 >> 3);\n    *(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n    *(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar27 = (uint)(lVar8 - lVar9 >> 3);\n    puVar26 = (uint *)((long)pov + 0x20);\n    *(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18\n    ;\n    *(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    *(uint *)((long)pov + 0x1c) = 0;\n    __s = operator_new__((ulong)pOVar5->shnum_ << 2);\n    memset(__s,0,(ulong)pOVar5->shnum_ << 2);\n    puVar21 = puVar26;\n    if (uVar29 != 0) {\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }\n    if (local_68 != 0) {\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }\n    if (uVar27 == 0) {\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }\n    else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }\n    break;\n  case 3:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();\n    lVar30 = CONCAT44(extraout_var_03,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 8);\n    puVar25 = *(ulong **)(lVar30 + 0x50);\n    lVar6 = *(long *)(lVar30 + 0x58);\n    uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);\n    *(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    if (uVar29 != 0) {\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }\n    pov = (uchar *)puVar26;\n    if (uVar27 != 0) {\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();\n    lVar30 = CONCAT44(extraout_var_00,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x40);\n    iVar12 = (*pOVar5->_vptr_Object[4])();\n    if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    iVar13 = (*pOVar5->_vptr_Object[0x1d])();\n    plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);\n    if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar24 = *(ulong *)(lVar30 + 0x38) - 1;\n    puVar26 = (uint *)((long)pov + 8);\n    lVar30 = plVar18[1];\n    uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    lVar19 = *plVar18;\n    uVar29 = (uint)(lVar30 - lVar19 >> 3);\n    if (uVar29 != 0) {\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();\n    lVar30 = CONCAT44(extraout_var,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 4);\n    uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;\n    uVar29 = (uint)uVar24;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    pov = (uchar *)puVar26;\n    if (uVar29 != 0) {\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" { (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");" default : comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x6f2,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6f2,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();\n    lVar30 = CONCAT44(extraout_var_04,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x38);\n    iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);\n    plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);\n    iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);\n    uVar29 = iVar12 * -0x55555555;\n    lVar19 = plVar18[1];\n    lVar6 = *plVar18;\n    p_Var23 = pOVar5->_vptr_Object[0x25];\n    if (p_Var23 == Relobj::local_symbol_offset) {\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }\n    else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }\n    p_Var23 = pOVar5->_vptr_Object[0x24];\n    if (p_Var23 == Relobj::output_local_symbol_count) {\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }\n    else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }\n    uVar16 = *(uint *)&pOVar5[2]._vptr_Object;\n    uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);\n    uVar28 = 0;\n    lVar8 = *(long *)(lVar30 + 0x68);\n    lVar9 = *(long *)(lVar30 + 0x60);\n    *(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n    *(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000;\n    local_68 = (uint)(lVar19 - lVar6 >> 3);\n    *(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;\n    *(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar27 = (uint)(lVar8 - lVar9 >> 3);\n    puVar26 = (uint *)((long)pov + 0x20);\n    *(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18\n    ;\n    *(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    *(uint *)((long)pov + 0x1c) = 0;\n    __s = operator_new__((ulong)pOVar5->shnum_ << 2);\n    memset(__s,0,(ulong)pOVar5->shnum_ << 2);\n    puVar21 = puVar26;\n    if (uVar29 != 0) {\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }\n    if (local_68 != 0) {\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }\n    if (uVar27 == 0) {\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }\n    else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }\n    break;" case number_literal : (if_statement "if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" if (parenthesized_expression "((*local_88)->info_offset_ != iVar12 - iVar13)" ( (binary_expression "(*local_88)->info_offset_ != iVar12 - iVar13" (field_expression "(*local_88)->info_offset_" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) != (binary_expression "iVar12 - iVar13" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x616,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x616,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])();" (assignment_expression "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[4])()" identifier = (call_expression "(*(*local_88)->_vptr_Incremental_input_entry[4])()" (parenthesized_expression "(*(*local_88)->_vptr_Incremental_input_entry[4])" ( (pointer_expression "*(*local_88)->_vptr_Incremental_input_entry[4]" * (subscript_expression "(*local_88)->_vptr_Incremental_input_entry[4]" (field_expression "(*local_88)->_vptr_Incremental_input_entry" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "lVar30 = CONCAT44(extraout_var_04,iVar12);" (assignment_expression "lVar30 = CONCAT44(extraout_var_04,iVar12)" identifier = (call_expression "CONCAT44(extraout_var_04,iVar12)" identifier (argument_list "(extraout_var_04,iVar12)" ( identifier , identifier )))) ;) (if_statement "if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar30 == 0)" ( (binary_expression "lVar30 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x618,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x618,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "pOVar5 = *(Object **)(lVar30 + 0x38);" (assignment_expression "pOVar5 = *(Object **)(lVar30 + 0x38)" identifier = (pointer_expression "*(Object **)(lVar30 + 0x38)" * (cast_expression "(Object **)(lVar30 + 0x38)" ( (type_descriptor "Object **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar30 + 0x38)" ( (binary_expression "lVar30 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5);" (assignment_expression "iVar12 = (*pOVar5->_vptr_Object[0x1d])(pOVar5)" identifier = (call_expression "(*pOVar5->_vptr_Object[0x1d])(pOVar5)" (parenthesized_expression "(*pOVar5->_vptr_Object[0x1d])" ( (pointer_expression "*pOVar5->_vptr_Object[0x1d]" * (subscript_expression "pOVar5->_vptr_Object[0x1d]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar5)" ( identifier )))) ;) (expression_statement "plVar18 = (long *)CONCAT44(extraout_var_05,iVar12);" (assignment_expression "plVar18 = (long *)CONCAT44(extraout_var_05,iVar12)" identifier = (cast_expression "(long *)CONCAT44(extraout_var_05,iVar12)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_05,iVar12)" identifier (argument_list "(extraout_var_05,iVar12)" ( identifier , identifier ))))) ;) (expression_statement "iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3);" (assignment_expression "iVar12 = (int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3)" identifier = (cast_expression "(int)(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3)" ( (binary_expression "*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48) >> 3" (binary_expression "*(long *)(lVar30 + 0x50) - *(long *)(lVar30 + 0x48)" (pointer_expression "*(long *)(lVar30 + 0x50)" * (cast_expression "(long *)(lVar30 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x50)" ( (binary_expression "lVar30 + 0x50" identifier + number_literal) )))) - (pointer_expression "*(long *)(lVar30 + 0x48)" * (cast_expression "(long *)(lVar30 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x48)" ( (binary_expression "lVar30 + 0x48" identifier + number_literal) ))))) >> number_literal) )))) ;) (expression_statement "uVar29 = iVar12 * -0x55555555;" (assignment_expression "uVar29 = iVar12 * -0x55555555" identifier = (binary_expression "iVar12 * -0x55555555" identifier * number_literal)) ;) (expression_statement "lVar19 = plVar18[1];" (assignment_expression "lVar19 = plVar18[1]" identifier = (subscript_expression "plVar18[1]" identifier [ number_literal ])) ;) (expression_statement "lVar6 = *plVar18;" (assignment_expression "lVar6 = *plVar18" identifier = (pointer_expression "*plVar18" * identifier)) ;) (expression_statement "p_Var23 = pOVar5->_vptr_Object[0x25];" (assignment_expression "p_Var23 = pOVar5->_vptr_Object[0x25]" identifier = (subscript_expression "pOVar5->_vptr_Object[0x25]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var23 == Relobj::local_symbol_offset) {\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }\n    else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }" if (parenthesized_expression "(p_Var23 == Relobj::local_symbol_offset)" ( (ERROR "p_Var23 == Relobj::" (binary_expression "p_Var23 == Relobj" identifier == identifier) : :) identifier )) (compound_statement "{\n      uVar27 = (*pOVar5->_vptr_Object[0x31])();\n    }" { (expression_statement "uVar27 = (*pOVar5->_vptr_Object[0x31])();" (assignment_expression "uVar27 = (*pOVar5->_vptr_Object[0x31])()" identifier = (call_expression "(*pOVar5->_vptr_Object[0x31])()" (parenthesized_expression "(*pOVar5->_vptr_Object[0x31])" ( (pointer_expression "*pOVar5->_vptr_Object[0x31]" * (subscript_expression "pOVar5->_vptr_Object[0x31]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n      uVar27 = (*p_Var23)(pOVar5);\n    }" else (compound_statement "{\n      uVar27 = (*p_Var23)(pOVar5);\n    }" { (expression_statement "uVar27 = (*p_Var23)(pOVar5);" (assignment_expression "uVar27 = (*p_Var23)(pOVar5)" identifier = (call_expression "(*p_Var23)(pOVar5)" (parenthesized_expression "(*p_Var23)" ( (pointer_expression "*p_Var23" * identifier) )) (argument_list "(pOVar5)" ( identifier )))) ;) }))) (expression_statement "p_Var23 = pOVar5->_vptr_Object[0x24];" (assignment_expression "p_Var23 = pOVar5->_vptr_Object[0x24]" identifier = (subscript_expression "pOVar5->_vptr_Object[0x24]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var23 == Relobj::output_local_symbol_count) {\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }\n    else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }" if (parenthesized_expression "(p_Var23 == Relobj::output_local_symbol_count)" ( (ERROR "p_Var23 == Relobj::" (binary_expression "p_Var23 == Relobj" identifier == identifier) : :) identifier )) (compound_statement "{\n      uVar14 = (*pOVar5->_vptr_Object[0x30])();\n    }" { (expression_statement "uVar14 = (*pOVar5->_vptr_Object[0x30])();" (assignment_expression "uVar14 = (*pOVar5->_vptr_Object[0x30])()" identifier = (call_expression "(*pOVar5->_vptr_Object[0x30])()" (parenthesized_expression "(*pOVar5->_vptr_Object[0x30])" ( (pointer_expression "*pOVar5->_vptr_Object[0x30]" * (subscript_expression "pOVar5->_vptr_Object[0x30]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n      uVar14 = (*p_Var23)(pOVar5);\n    }" else (compound_statement "{\n      uVar14 = (*p_Var23)(pOVar5);\n    }" { (expression_statement "uVar14 = (*p_Var23)(pOVar5);" (assignment_expression "uVar14 = (*p_Var23)(pOVar5)" identifier = (call_expression "(*p_Var23)(pOVar5)" (parenthesized_expression "(*p_Var23)" ( (pointer_expression "*p_Var23" * identifier) )) (argument_list "(pOVar5)" ( identifier )))) ;) }))) (expression_statement "uVar16 = *(uint *)&pOVar5[2]._vptr_Object;" (assignment_expression "uVar16 = *(uint *)&pOVar5[2]._vptr_Object" identifier = (pointer_expression "*(uint *)&pOVar5[2]._vptr_Object" * (cast_expression "(uint *)&pOVar5[2]._vptr_Object" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar5[2]._vptr_Object" & (field_expression "pOVar5[2]._vptr_Object" (subscript_expression "pOVar5[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4);" (assignment_expression "uVar15 = *(uint *)((long)&pOVar5[2]._vptr_Object + 4)" identifier = (pointer_expression "*(uint *)((long)&pOVar5[2]._vptr_Object + 4)" * (cast_expression "(uint *)((long)&pOVar5[2]._vptr_Object + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&pOVar5[2]._vptr_Object + 4)" ( (binary_expression "(long)&pOVar5[2]._vptr_Object + 4" (cast_expression "(long)&pOVar5[2]._vptr_Object" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pOVar5[2]._vptr_Object" & (field_expression "pOVar5[2]._vptr_Object" (subscript_expression "pOVar5[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "lVar8 = *(long *)(lVar30 + 0x68);" (assignment_expression "lVar8 = *(long *)(lVar30 + 0x68)" identifier = (pointer_expression "*(long *)(lVar30 + 0x68)" * (cast_expression "(long *)(lVar30 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x68)" ( (binary_expression "lVar30 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "lVar9 = *(long *)(lVar30 + 0x60);" (assignment_expression "lVar9 = *(long *)(lVar30 + 0x60)" identifier = (pointer_expression "*(long *)(lVar30 + 0x60)" * (cast_expression "(long *)(lVar30 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x60)" ( (binary_expression "lVar30 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;" (assignment_expression "*(uint *)((long)pov + 0xc) =\n         uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (pointer_expression "*(uint *)((long)pov + 0xc)" * (cast_expression "(uint *)((long)pov + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 0xc)" ( (binary_expression "(long)pov + 0xc" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;" (assignment_expression "*(uint *)((long)pov + 0x10) =\n         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (pointer_expression "*(uint *)((long)pov + 0x10)" * (cast_expression "(uint *)((long)pov + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 0x10)" ( (binary_expression "(long)pov + 0x10" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000;" (assignment_expression "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   iVar12 * -0x55000000" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "iVar12 * -0x55000000" identifier * number_literal))) ;) (expression_statement "local_68 = (uint)(lVar19 - lVar6 >> 3);" (assignment_expression "local_68 = (uint)(lVar19 - lVar6 >> 3)" identifier = (call_expression "(uint)(lVar19 - lVar6 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar19 - lVar6 >> 3)" ( (binary_expression "lVar19 - lVar6 >> 3" (binary_expression "lVar19 - lVar6" identifier - identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18;" (assignment_expression "*(uint *)((long)pov + 0x14) =\n         uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 | uVar15 << 0x18" (pointer_expression "*(uint *)((long)pov + 0x14)" * (cast_expression "(uint *)((long)pov + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 0x14)" ( (binary_expression "(long)pov + 0x14" (cast_expression "(long)pov" ( (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))) ;) (expression_statement "*(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*(uint *)((long)pov + 8) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*(uint *)((long)pov + 8)" * (cast_expression "(uint *)((long)pov + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 8)" ( (binary_expression "(long)pov + 8" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar27 = (uint)(lVar8 - lVar9 >> 3);" (assignment_expression "uVar27 = (uint)(lVar8 - lVar9 >> 3)" identifier = (call_expression "(uint)(lVar8 - lVar9 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar8 - lVar9 >> 3)" ( (binary_expression "lVar8 - lVar9 >> 3" (binary_expression "lVar8 - lVar9" identifier - identifier) >> number_literal) )))) ;) (expression_statement "puVar26 = (uint *)((long)pov + 0x20);" (assignment_expression "puVar26 = (uint *)((long)pov + 0x20)" identifier = (cast_expression "(uint *)((long)pov + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 0x20)" ( (binary_expression "(long)pov + 0x20" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "*(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18\n    ;" (assignment_expression "*(uint *)((long)pov + 4) =\n         local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18" (pointer_expression "*(uint *)((long)pov + 4)" * (cast_expression "(uint *)((long)pov + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 4)" ( (binary_expression "(long)pov + 4" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 | local_68 << 0x18" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8" (binary_expression "local_68 >> 0x18" identifier >> number_literal) | (binary_expression "(local_68 & 0xff0000) >> 8" (parenthesized_expression "(local_68 & 0xff0000)" ( (binary_expression "local_68 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_68 & 0xff00) << 8" (parenthesized_expression "(local_68 & 0xff00)" ( (binary_expression "local_68 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_68 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*(uint *)((long)pov + 0x18) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*(uint *)((long)pov + 0x18)" * (cast_expression "(uint *)((long)pov + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 0x18)" ( (binary_expression "(long)pov + 0x18" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "*(uint *)((long)pov + 0x1c) = 0;" (assignment_expression "*(uint *)((long)pov + 0x1c) = 0" (pointer_expression "*(uint *)((long)pov + 0x1c)" * (cast_expression "(uint *)((long)pov + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 0x1c)" ( (binary_expression "(long)pov + 0x1c" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__s = operator_new__((ulong)pOVar5->shnum_ << 2);" (assignment_expression "__s = operator_new__((ulong)pOVar5->shnum_ << 2)" identifier = (call_expression "operator_new__((ulong)pOVar5->shnum_ << 2)" identifier (argument_list "((ulong)pOVar5->shnum_ << 2)" ( (binary_expression "(ulong)pOVar5->shnum_ << 2" (cast_expression "(ulong)pOVar5->shnum_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pOVar5->shnum_" identifier -> field_identifier)) << number_literal) )))) ;) (expression_statement "memset(__s,0,(ulong)pOVar5->shnum_ << 2);" (call_expression "memset(__s,0,(ulong)pOVar5->shnum_ << 2)" identifier (argument_list "(__s,0,(ulong)pOVar5->shnum_ << 2)" ( identifier , number_literal , (binary_expression "(ulong)pOVar5->shnum_ << 2" (cast_expression "(ulong)pOVar5->shnum_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pOVar5->shnum_" identifier -> field_identifier)) << number_literal) ))) ;) (expression_statement "puVar21 = puVar26;" (assignment_expression "puVar21 = puVar26" identifier = identifier) ;) (if_statement "if (uVar29 != 0) {\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);\n    }" { (do_statement "do {\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      } while (uVar28 != uVar29);" do (compound_statement "{\n        uVar28 = uVar28 + 1;\n        uVar16 = 0;\n        puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));\n        uVar14 = *puVar21;\n        uVar17 = (ulong)uVar14;\n        uVar24 = *(ulong *)(puVar21 + 2);\n        *(uint *)((long)__s + uVar17 * 4) = uVar28;\n        if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }\n        if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }\n        if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }\n        puVar26[1] = uVar14;\n        puVar21 = puVar26 + 6;\n        *puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;\n        *(ulong *)(puVar26 + 2) = uVar24;\n        *(ulong *)(puVar26 + 4) = uVar17;\n        puVar26 = puVar21;\n      }" { (expression_statement "uVar28 = uVar28 + 1;" (assignment_expression "uVar28 = uVar28 + 1" identifier = (binary_expression "uVar28 + 1" identifier + number_literal)) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov));" (assignment_expression "puVar21 = (uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov))" identifier = (cast_expression "(uint *)((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov))" ( (binary_expression "(long)puVar26 + *(long *)(lVar30 + 0x48) + (-0x20 - (long)pov)" (binary_expression "(long)puVar26 + *(long *)(lVar30 + 0x48)" (cast_expression "(long)puVar26" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (pointer_expression "*(long *)(lVar30 + 0x48)" * (cast_expression "(long *)(lVar30 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x48)" ( (binary_expression "lVar30 + 0x48" identifier + number_literal) ))))) + (parenthesized_expression "(-0x20 - (long)pov)" ( (binary_expression "-0x20 - (long)pov" number_literal - (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (expression_statement "uVar14 = *puVar21;" (assignment_expression "uVar14 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "uVar17 = (ulong)uVar14;" (assignment_expression "uVar17 = (ulong)uVar14" identifier = (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar24 = *(ulong *)(puVar21 + 2);" (assignment_expression "uVar24 = *(ulong *)(puVar21 + 2)" identifier = (pointer_expression "*(ulong *)(puVar21 + 2)" * (cast_expression "(ulong *)(puVar21 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 2)" ( (binary_expression "puVar21 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)((long)__s + uVar17 * 4) = uVar28;" (assignment_expression "*(uint *)((long)__s + uVar17 * 4) = uVar28" (pointer_expression "*(uint *)((long)__s + uVar17 * 4)" * (cast_expression "(uint *)((long)__s + uVar17 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + uVar17 * 4)" ( (binary_expression "(long)__s + uVar17 * 4" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar17 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }" if (parenthesized_expression "(uVar24 != 0)" ( (binary_expression "uVar24 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        }" { (if_statement "if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;" if (parenthesized_expression "((strtab->key_to_offset_).size_ < uVar24)" ( (binary_expression "(strtab->key_to_offset_).size_ < uVar24" (field_expression "(strtab->key_to_offset_).size_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);" (assignment_expression "uVar16 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" ( (ERROR "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::" (comma_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std" (binary_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int" (binary_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std" (cast_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base" (field_expression "(strtab->key_to_offset_).chunks_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier) (ERROR "::vector" : : identifier) < identifier) , identifier) : : (binary_expression "allocator<long_int>_>,_std" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "vector<long_int,_std" (binary_expression "vector<long_int" identifier < identifier) , identifier) : : (comma_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std" (binary_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int" (field_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base" (subscript_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd]" (field_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start" (field_expression "allocator<long_int>_>_>_>\n                                 ._M_impl" (binary_expression "allocator<long_int>_>_>_" (binary_expression "allocator<long_int>_>_" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "uVar24 - 1 >> 0xd" (binary_expression "uVar24 - 1" identifier - number_literal) >> number_literal) ]) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8" (field_expression "allocator<long_int>_>._M_impl.\n                                 _M_start" (field_expression "allocator<long_int>_>._M_impl" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (binary_expression "(ulong)((uint)(uVar24 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar24 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar24 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar24 - 1) & 0x1fff" (call_expression "(uint)(uVar24 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 - 1)" ( (binary_expression "uVar24 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) })) (if_statement "if (pOVar5->_vptr_Object[0x18] == Relobj::do_output_section) {\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }\n        else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }" if (parenthesized_expression "(pOVar5->_vptr_Object[0x18] == Relobj::do_output_section)" ( (binary_expression "pOVar5->_vptr_Object[0x18] == Relobj" (subscript_expression "pOVar5->_vptr_Object[0x18]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_output_section" : : identifier) )) (compound_statement "{\n          if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          p_Var23 = pOVar5[1]._vptr_Object[uVar17];\n        }" { (if_statement "if ((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }" if (parenthesized_expression "((ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17)" ( (binary_expression "(ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3) <=\n              uVar17" (call_expression "(ulong)((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3)" ( (binary_expression "(long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object >> 3" (binary_expression "(long)pOVar5[1].name_._M_dataplus._M_p - (long)pOVar5[1]._vptr_Object" (cast_expression "(long)pOVar5[1].name_._M_dataplus._M_p" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "pOVar5[1].name_._M_dataplus._M_p" (field_expression "pOVar5[1].name_._M_dataplus" (field_expression "pOVar5[1].name_" (subscript_expression "pOVar5[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier)) - (cast_expression "(long)pOVar5[1]._vptr_Object" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "pOVar5[1]._vptr_Object" (subscript_expression "pOVar5[1]" identifier [ number_literal ]) . field_identifier))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "p_Var23 = pOVar5[1]._vptr_Object[uVar17];" (assignment_expression "p_Var23 = pOVar5[1]._vptr_Object[uVar17]" identifier = (subscript_expression "pOVar5[1]._vptr_Object[uVar17]" (field_expression "pOVar5[1]._vptr_Object" (subscript_expression "pOVar5[1]" identifier [ number_literal ]) . field_identifier) [ identifier ])) ;) }) (else_clause "else {\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }" else (compound_statement "{\n          iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);\n          p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);\n        }" { (expression_statement "iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5);" (assignment_expression "iVar12 = (*pOVar5->_vptr_Object[0x18])(pOVar5)" identifier = (call_expression "(*pOVar5->_vptr_Object[0x18])(pOVar5)" (parenthesized_expression "(*pOVar5->_vptr_Object[0x18])" ( (pointer_expression "*pOVar5->_vptr_Object[0x18]" * (subscript_expression "pOVar5->_vptr_Object[0x18]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar5)" ( identifier )))) ;) (expression_statement "p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12);" (assignment_expression "p_Var23 = (_func_int_varargs *)CONCAT44(extraout_var_07,iVar12)" identifier = (cast_expression "(_func_int_varargs *)CONCAT44(extraout_var_07,iVar12)" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_07,iVar12)" identifier (argument_list "(extraout_var_07,iVar12)" ( identifier , identifier ))))) ;) }))) (if_statement "if (p_Var23 == (_func_int_varargs *)0x0) {\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }\n        else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }" if (parenthesized_expression "(p_Var23 == (_func_int_varargs *)0x0)" ( (binary_expression "p_Var23 == (_func_int_varargs *)0x0" identifier == (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar14 = 0;\n          uVar24 = 0;\n          uVar17 = 0;\n        }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }" else (compound_statement "{\n          if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }\n          uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);\n          uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;\n          uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;\n          uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;\n          uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;\n        }" { (if_statement "if (*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx) {\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }" if (parenthesized_expression "(*(code **)(*(long *)p_Var23 + 0x58) == Output_section::do_out_shndx)" ( (binary_expression "*(code **)(*(long *)p_Var23 + 0x58) == Output_section" (pointer_expression "*(code **)(*(long *)p_Var23 + 0x58)" * (cast_expression "(code **)(*(long *)p_Var23 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)p_Var23 + 0x58)" ( (binary_expression "*(long *)p_Var23 + 0x58" (pointer_expression "*(long *)p_Var23" * (cast_expression "(long *)p_Var23" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == identifier) (ERROR "::do_out_shndx" : : identifier) )) (compound_statement "{\n            uVar15 = *(uint *)(p_Var23 + 0x7c);\n            if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }" { (expression_statement "uVar15 = *(uint *)(p_Var23 + 0x7c);" (assignment_expression "uVar15 = *(uint *)(p_Var23 + 0x7c)" identifier = (pointer_expression "*(uint *)(p_Var23 + 0x7c)" * (cast_expression "(uint *)(p_Var23 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var23 + 0x7c)" ( (binary_expression "p_Var23 + 0x7c" identifier + number_literal) ))))) ;) (if_statement "if (uVar15 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }" if (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");\n            }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx");" (call_expression "do_gold_unreachable("../../gold/output.h",0x1043,"do_out_shndx")" identifier (argument_list "("../../gold/output.h",0x1043,"do_out_shndx")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""do_out_shndx"" " string_content ") ))) ;) })) }) (else_clause "else {\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }" else (compound_statement "{\n            uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);\n          }" { (expression_statement "uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23);" (assignment_expression "uVar15 = (**(code **)(*(long *)p_Var23 + 0x58))(p_Var23)" identifier = (call_expression "(**(code **)(*(long *)p_Var23 + 0x58))(p_Var23)" (parenthesized_expression "(**(code **)(*(long *)p_Var23 + 0x58))" ( (pointer_expression "**(code **)(*(long *)p_Var23 + 0x58)" * (pointer_expression "*(code **)(*(long *)p_Var23 + 0x58)" * (cast_expression "(code **)(*(long *)p_Var23 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)p_Var23 + 0x58)" ( (binary_expression "*(long *)p_Var23 + 0x58" (pointer_expression "*(long *)p_Var23" * (cast_expression "(long *)p_Var23" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(p_Var23)" ( identifier )))) ;) }))) (expression_statement "uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14);" (assignment_expression "uVar14 = (*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14)" identifier = (call_expression "(*pOVar5->_vptr_Object[0x1a])(pOVar5,(ulong)uVar14)" (parenthesized_expression "(*pOVar5->_vptr_Object[0x1a])" ( (pointer_expression "*pOVar5->_vptr_Object[0x1a]" * (subscript_expression "pOVar5->_vptr_Object[0x1a]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar5,(ulong)uVar14)" ( identifier , (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38;" (assignment_expression "uVar24 = (ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38" identifier = (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28 | (ulong)uVar14 << 0x38" (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18 |\n                   ((ulong)uVar14 & 0xff00) << 0x28" (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8 | ((ulong)uVar14 & 0xff0000) << 0x18" (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8 |\n                   ((ulong)uVar14 & 0xff000000) << 8" (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18 |\n                   (((ulong)extraout_var_06 & 0xff) << 0x20) >> 8" (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28 |\n                   (((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18" (binary_expression "(ulong)(extraout_var_06 >> 0x18) |\n                   (((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28" (call_expression "(ulong)(extraout_var_06 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(extraout_var_06 >> 0x18)" ( (binary_expression "extraout_var_06 >> 0x18" identifier >> number_literal) ))) | (binary_expression "(((ulong)extraout_var_06 & 0xff0000) << 0x20) >> 0x28" (parenthesized_expression "(((ulong)extraout_var_06 & 0xff0000) << 0x20)" ( (binary_expression "((ulong)extraout_var_06 & 0xff0000) << 0x20" (parenthesized_expression "((ulong)extraout_var_06 & 0xff0000)" ( (binary_expression "(ulong)extraout_var_06 & 0xff0000" (cast_expression "(ulong)extraout_var_06" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(((ulong)extraout_var_06 & 0xff00) << 0x20) >> 0x18" (parenthesized_expression "(((ulong)extraout_var_06 & 0xff00) << 0x20)" ( (binary_expression "((ulong)extraout_var_06 & 0xff00) << 0x20" (parenthesized_expression "((ulong)extraout_var_06 & 0xff00)" ( (binary_expression "(ulong)extraout_var_06 & 0xff00" (cast_expression "(ulong)extraout_var_06" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(((ulong)extraout_var_06 & 0xff) << 0x20) >> 8" (parenthesized_expression "(((ulong)extraout_var_06 & 0xff) << 0x20)" ( (binary_expression "((ulong)extraout_var_06 & 0xff) << 0x20" (parenthesized_expression "((ulong)extraout_var_06 & 0xff)" ( (binary_expression "(ulong)extraout_var_06 & 0xff" (cast_expression "(ulong)extraout_var_06" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "((ulong)uVar14 & 0xff000000) << 8" (parenthesized_expression "((ulong)uVar14 & 0xff000000)" ( (binary_expression "(ulong)uVar14 & 0xff000000" (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "((ulong)uVar14 & 0xff0000) << 0x18" (parenthesized_expression "((ulong)uVar14 & 0xff0000)" ( (binary_expression "(ulong)uVar14 & 0xff0000" (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "((ulong)uVar14 & 0xff00) << 0x28" (parenthesized_expression "((ulong)uVar14 & 0xff00)" ( (binary_expression "(ulong)uVar14 & 0xff00" (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(ulong)uVar14 << 0x38" (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) << number_literal))) ;) (expression_statement "uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))\n          ;" (assignment_expression "uVar17 = *(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))" identifier = (pointer_expression "*(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))" * (cast_expression "(ulong *)((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov))" ( (binary_expression "(long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10 + (-0x20 - (long)pov)" (binary_expression "(long)puVar26 + *(long *)(lVar30 + 0x48) + 0x10" (binary_expression "(long)puVar26 + *(long *)(lVar30 + 0x48)" (cast_expression "(long)puVar26" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (pointer_expression "*(long *)(lVar30 + 0x48)" * (cast_expression "(long *)(lVar30 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x48)" ( (binary_expression "lVar30 + 0x48" identifier + number_literal) ))))) + number_literal) + (parenthesized_expression "(-0x20 - (long)pov)" ( (binary_expression "-0x20 - (long)pov" number_literal - (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))))) ;) (expression_statement "uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18;" (assignment_expression "uVar14 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   uVar15 << 0x18" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   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))) ;) (expression_statement "uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38;" (assignment_expression "uVar17 = uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38" identifier = (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28 | uVar17 << 0x38" (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18 |\n                   (uVar17 & 0xff00) << 0x28" (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8 | (uVar17 & 0xff0000) << 0x18" (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8 |\n                   (uVar17 & 0xff000000) << 8" (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18 | (uVar17 & 0xff00000000) >> 8" (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28 |\n                   (uVar17 & 0xff0000000000) >> 0x18" (binary_expression "uVar17 >> 0x38 | (uVar17 & 0xff000000000000) >> 0x28" (binary_expression "uVar17 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar17 & 0xff000000000000)" ( (binary_expression "uVar17 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar17 & 0xff0000000000)" ( (binary_expression "uVar17 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00000000) >> 8" (parenthesized_expression "(uVar17 & 0xff00000000)" ( (binary_expression "uVar17 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (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 << 0x38" identifier << number_literal))) ;) }))) (expression_statement "puVar26[1] = uVar14;" (assignment_expression "puVar26[1] = uVar14" (subscript_expression "puVar26[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar21 = puVar26 + 6;" (assignment_expression "puVar21 = puVar26 + 6" identifier = (binary_expression "puVar26 + 6" identifier + number_literal)) ;) (expression_statement "*puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18;" (assignment_expression "*puVar26 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18" (pointer_expression "*puVar26" * identifier) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                   uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "*(ulong *)(puVar26 + 2) = uVar24;" (assignment_expression "*(ulong *)(puVar26 + 2) = uVar24" (pointer_expression "*(ulong *)(puVar26 + 2)" * (cast_expression "(ulong *)(puVar26 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 2)" ( (binary_expression "puVar26 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(puVar26 + 4) = uVar17;" (assignment_expression "*(ulong *)(puVar26 + 4) = uVar17" (pointer_expression "*(ulong *)(puVar26 + 4)" * (cast_expression "(ulong *)(puVar26 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 4)" ( (binary_expression "puVar26 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" identifier = identifier) ;) }) while (parenthesized_expression "(uVar28 != uVar29)" ( (binary_expression "uVar28 != uVar29" identifier != identifier) )) ;) })) (if_statement "if (local_68 != 0) {\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar26 = puVar21;\n      uVar24 = 0;\n      do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n    }" { (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" identifier = identifier) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);" do (compound_statement "{\n        pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);\n        if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }\n        if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }\n        if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }\n        if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }\n        puVar26[4] = uVar15;\n        *puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;\n        puVar21 = puVar26 + 5;\n        puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n        puVar26[2] = uVar28;\n        puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;\n        bVar10 = local_68 - 1 != uVar24;\n        puVar26 = puVar21;\n        uVar24 = uVar24 + 1;\n      }" { (expression_statement "pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8);" (assignment_expression "pSVar22 = *(Symbol **)(*plVar18 + uVar24 * 8)" identifier = (pointer_expression "*(Symbol **)(*plVar18 + uVar24 * 8)" * (cast_expression "(Symbol **)(*plVar18 + uVar24 * 8)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar18 + uVar24 * 8)" ( (binary_expression "*plVar18 + uVar24 * 8" (pointer_expression "*plVar18" * identifier) + (binary_expression "uVar24 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((pSVar22->field_0x3a & 0x10) != 0) {\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }" if (parenthesized_expression "((pSVar22->field_0x3a & 0x10) != 0)" ( (binary_expression "(pSVar22->field_0x3a & 0x10) != 0" (parenthesized_expression "(pSVar22->field_0x3a & 0x10)" ( (binary_expression "pSVar22->field_0x3a & 0x10" (field_expression "pSVar22->field_0x3a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n          pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n        }" { (ERROR "pSVar22 = Symbol_table::" (assignment_expression "pSVar22 = Symbol_table" identifier = identifier) : :) (expression_statement "resolve_forwards(this->symtab_,pSVar22);" (call_expression "resolve_forwards(this->symtab_,pSVar22)" identifier (argument_list "(this->symtab_,pSVar22)" ( (field_expression "this->symtab_" identifier -> field_identifier) , identifier ))) ;) })) (if_statement "if ((pSVar22->field_0x3a & 7) == 0) {\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }\n        else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }" if (parenthesized_expression "((pSVar22->field_0x3a & 7) == 0)" ( (binary_expression "(pSVar22->field_0x3a & 7) == 0" (parenthesized_expression "(pSVar22->field_0x3a & 7)" ( (binary_expression "pSVar22->field_0x3a & 7" (field_expression "pSVar22->field_0x3a" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;\n          uVar29 = 0;\n        }" { (if_statement "if (pOVar5 == (pSVar22->u1_).object) {\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }" if (parenthesized_expression "(pOVar5 == (pSVar22->u1_).object)" ( (binary_expression "pOVar5 == (pSVar22->u1_).object" identifier == (field_expression "(pSVar22->u1_).object" (parenthesized_expression "(pSVar22->u1_)" ( (field_expression "pSVar22->u1_" identifier -> field_identifier) )) . field_identifier)) )) (compound_statement "{\n            uVar29 = (pSVar22->u2_).shndx;\n            if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }\n          }" { (expression_statement "uVar29 = (pSVar22->u2_).shndx;" (assignment_expression "uVar29 = (pSVar22->u2_).shndx" identifier = (field_expression "(pSVar22->u2_).shndx" (parenthesized_expression "(pSVar22->u2_)" ( (field_expression "pSVar22->u2_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((pSVar22->field_0x3b & 0x20) == 0) {\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }" if (parenthesized_expression "((pSVar22->field_0x3b & 0x20) == 0)" ( (binary_expression "(pSVar22->field_0x3b & 0x20) == 0" (parenthesized_expression "(pSVar22->field_0x3b & 0x20)" ( (binary_expression "pSVar22->field_0x3b & 0x20" (field_expression "pSVar22->field_0x3b" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              bVar10 = Symbol::is_common_shndx(uVar29);\n              if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }" { (ERROR "bVar10 = Symbol::" (assignment_expression "bVar10 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(uVar29);" (call_expression "is_common_shndx(uVar29)" identifier (argument_list "(uVar29)" ( identifier ))) ;) (if_statement "if (!bVar10) {\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" if (parenthesized_expression "(!bVar10)" ( (unary_expression "!bVar10" ! identifier) )) (compound_statement "{\n                if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar29 = (pSVar22->u2_).shndx;\n                if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" { (if_statement "if ((pSVar22->field_0x3a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }" if (parenthesized_expression "((pSVar22->field_0x3a & 7) != 0)" ( (binary_expression "(pSVar22->field_0x3a & 7) != 0" (parenthesized_expression "(pSVar22->field_0x3a & 7)" ( (binary_expression "pSVar22->field_0x3a & 7" (field_expression "pSVar22->field_0x3a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                  do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n                }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;) })) (expression_statement "uVar29 = (pSVar22->u2_).shndx;" (assignment_expression "uVar29 = (pSVar22->u2_).shndx" identifier = (field_expression "(pSVar22->u2_).shndx" (parenthesized_expression "(pSVar22->u2_)" ( (field_expression "pSVar22->u2_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((pSVar22->field_0x3b & 0x20) == 0) {\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }" if (parenthesized_expression "((pSVar22->field_0x3b & 0x20) == 0)" ( (binary_expression "(pSVar22->field_0x3b & 0x20) == 0" (parenthesized_expression "(pSVar22->field_0x3b & 0x20)" ( (binary_expression "pSVar22->field_0x3b & 0x20" (field_expression "pSVar22->field_0x3b" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar29 = 1;\n                  goto LAB_0019fc56;\n                }" { (expression_statement "uVar29 = 1;" (assignment_expression "uVar29 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0019fc56;" goto statement_identifier ;) })) (goto_statement "goto LAB_0019fd71;" goto statement_identifier ;) })) }) (else_clause "else if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }" else (if_statement "if (uVar29 != 0) {\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);\n              goto LAB_0019fc56;\n            }" { (labeled_statement "LAB_0019fd71:\n              uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);" statement_identifier : (expression_statement "uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4);" (assignment_expression "uVar29 = *(uint *)((long)__s + (ulong)uVar29 * 4)" identifier = (pointer_expression "*(uint *)((long)__s + (ulong)uVar29 * 4)" * (cast_expression "(uint *)((long)__s + (ulong)uVar29 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + (ulong)uVar29 * 4)" ( (binary_expression "(long)__s + (ulong)uVar29 * 4" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar29 * 4" (cast_expression "(ulong)uVar29" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;)) (goto_statement "goto LAB_0019fc56;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_0019fd3a:\n          uVar14 = pSVar22->symtab_index_;" statement_identifier : (expression_statement "uVar14 = pSVar22->symtab_index_;" (assignment_expression "uVar14 = pSVar22->symtab_index_" identifier = (field_expression "pSVar22->symtab_index_" identifier -> field_identifier)) ;)) (expression_statement "uVar29 = 0;" (assignment_expression "uVar29 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }" else (compound_statement "{\n          if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;\n          uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;\n        }" { (if_statement "if ((pSVar22->field_0x3c & 4) != 0) goto LAB_0019fd3a;" if (parenthesized_expression "((pSVar22->field_0x3c & 4) != 0)" ( (binary_expression "(pSVar22->field_0x3c & 4) != 0" (parenthesized_expression "(pSVar22->field_0x3c & 4)" ( (binary_expression "pSVar22->field_0x3c & 4" (field_expression "pSVar22->field_0x3c" identifier -> field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0019fd3a;" goto statement_identifier ;)) (expression_statement "uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1);" (assignment_expression "uVar29 = -(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1)" identifier = (unary_expression "-(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1)" - (call_expression "(uint)((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)pSVar22->field_0x3b >> 3 & 1 ^ 1)" ( (binary_expression "(byte)pSVar22->field_0x3b >> 3 & 1 ^ 1" (binary_expression "(byte)pSVar22->field_0x3b >> 3 & 1" (binary_expression "(byte)pSVar22->field_0x3b >> 3" (cast_expression "(byte)pSVar22->field_0x3b" ( (type_descriptor "byte" type_identifier) ) (field_expression "pSVar22->field_0x3b" identifier -> field_identifier)) >> number_literal) & number_literal) ^ number_literal) ))))) ;) (labeled_statement "LAB_0019fc56:\n          uVar14 = pSVar22->symtab_index_;" statement_identifier : (expression_statement "uVar14 = pSVar22->symtab_index_;" (assignment_expression "uVar14 = pSVar22->symtab_index_" identifier = (field_expression "pSVar22->symtab_index_" identifier -> field_identifier)) ;)) }))) (if_statement "if (uVar14 == 0) {\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");\n        }" { (labeled_statement "LAB_0019fd47:\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;)) })) (if_statement "if (pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count) {\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }\n        else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }" if (parenthesized_expression "(pOVar5->_vptr_Object[0x20] == Relobj::do_get_incremental_reloc_count)" ( (binary_expression "pOVar5->_vptr_Object[0x20] == Relobj" (subscript_expression "pOVar5->_vptr_Object[0x20]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_get_incremental_reloc_count" : : identifier) )) (compound_statement "{\n          uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];\n        }" { (expression_statement "uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24];" (assignment_expression "uVar16 = (&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24]" identifier = (subscript_expression "(&(pOVar5[1].xindex_)->large_shndx_offset_)[uVar24]" (parenthesized_expression "(&(pOVar5[1].xindex_)->large_shndx_offset_)" ( (pointer_expression "&(pOVar5[1].xindex_)->large_shndx_offset_" & (field_expression "(pOVar5[1].xindex_)->large_shndx_offset_" (parenthesized_expression "(pOVar5[1].xindex_)" ( (field_expression "pOVar5[1].xindex_" (subscript_expression "pOVar5[1]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier)) )) [ identifier ])) ;) }) (else_clause "else {\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }" else (compound_statement "{\n          uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);\n        }" { (expression_statement "uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5);" (assignment_expression "uVar16 = (*pOVar5->_vptr_Object[0x20])(pOVar5)" identifier = (call_expression "(*pOVar5->_vptr_Object[0x20])(pOVar5)" (parenthesized_expression "(*pOVar5->_vptr_Object[0x20])" ( (pointer_expression "*pOVar5->_vptr_Object[0x20]" * (subscript_expression "pOVar5->_vptr_Object[0x20]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar5)" ( identifier )))) ;) }))) (if_statement "if (uVar16 == 0) {\n          uVar28 = 0;\n          uVar15 = 0;\n        }\n        else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar28 = 0;\n          uVar15 = 0;\n        }" { (expression_statement "uVar28 = 0;" (assignment_expression "uVar28 = 0" identifier = number_literal) ;) (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }" else (compound_statement "{\n          if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }\n          uVar15 = iVar12 * 0x18;\n          uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar3 = global_syms[uVar28];\n          global_syms[uVar28] = (int)puVar26 - iVar13;\n          uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n        }" { (if_statement "if ((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)) {\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" if (parenthesized_expression "((uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28))" ( (binary_expression "(uVar14 == 0xffffffff) || (uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)" (parenthesized_expression "(uVar14 == 0xffffffff)" ( (binary_expression "uVar14 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(uVar28 = uVar14 - uVar2, global_sym_count <= uVar28)" ( (comma_expression "uVar28 = uVar14 - uVar2, global_sym_count <= uVar28" (assignment_expression "uVar28 = uVar14 - uVar2" identifier = (binary_expression "uVar14 - uVar2" identifier - identifier)) , (binary_expression "global_sym_count <= uVar28" identifier <= identifier)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x678,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x678,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (if_statement "if (pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base) {\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }\n          else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }" if (parenthesized_expression "(pOVar5->_vptr_Object[0x1f] == Relobj::do_get_incremental_reloc_base)" ( (binary_expression "pOVar5->_vptr_Object[0x1f] == Relobj" (subscript_expression "pOVar5->_vptr_Object[0x1f]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ]) == identifier) (ERROR "::do_get_incremental_reloc_base" : : identifier) )) (compound_statement "{\n            iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);\n          }" { (expression_statement "iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4);" (assignment_expression "iVar12 = *(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4)" identifier = (pointer_expression "*(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4)" * (cast_expression "(int *)(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4)" ( (binary_expression "&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +\n                             uVar24 * 4" (pointer_expression "&((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0" & (field_expression "((pOVar5[1].compressed_sections_)->_M_t)._M_impl.field_0x0" (field_expression "((pOVar5[1].compressed_sections_)->_M_t)._M_impl" (parenthesized_expression "((pOVar5[1].compressed_sections_)->_M_t)" ( (field_expression "(pOVar5[1].compressed_sections_)->_M_t" (parenthesized_expression "(pOVar5[1].compressed_sections_)" ( (field_expression "pOVar5[1].compressed_sections_" (subscript_expression "pOVar5[1]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier)) + (binary_expression "uVar24 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }" else (compound_statement "{\n            iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);\n          }" { (expression_statement "iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff);" (assignment_expression "iVar12 = (*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff)" identifier = (call_expression "(*pOVar5->_vptr_Object[0x1f])(pOVar5,uVar24 & 0xffffffff)" (parenthesized_expression "(*pOVar5->_vptr_Object[0x1f])" ( (pointer_expression "*pOVar5->_vptr_Object[0x1f]" * (subscript_expression "pOVar5->_vptr_Object[0x1f]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar5,uVar24 & 0xffffffff)" ( identifier , (binary_expression "uVar24 & 0xffffffff" identifier & number_literal) )))) ;) }))) (expression_statement "uVar15 = iVar12 * 0x18;" (assignment_expression "uVar15 = iVar12 * 0x18" identifier = (binary_expression "iVar12 * 0x18" identifier * number_literal)) ;) (expression_statement "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;" (assignment_expression "uVar15 = uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" identifier = (binary_expression "uVar15 >> 0x18 | (uVar15 & 0xff0000) >> 8 | (uVar15 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" (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 "iVar12 * 0x18000000" identifier * number_literal))) ;) (expression_statement "uVar3 = global_syms[uVar28];" (assignment_expression "uVar3 = global_syms[uVar28]" identifier = (subscript_expression "global_syms[uVar28]" identifier [ identifier ])) ;) (expression_statement "global_syms[uVar28] = (int)puVar26 - iVar13;" (assignment_expression "global_syms[uVar28] = (int)puVar26 - iVar13" (subscript_expression "global_syms[uVar28]" identifier [ identifier ]) = (binary_expression "(int)puVar26 - iVar13" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;" (assignment_expression "uVar28 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" identifier = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal))) ;) }))) (expression_statement "puVar26[4] = uVar15;" (assignment_expression "puVar26[4] = uVar15" (subscript_expression "puVar26[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18;" (assignment_expression "*puVar26 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18" (pointer_expression "*puVar26" * identifier) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                   uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar21 = puVar26 + 5;" (assignment_expression "puVar21 = puVar26 + 5" identifier = (binary_expression "puVar26 + 5" identifier + number_literal)) ;) (expression_statement "puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;" (assignment_expression "puVar26[1] = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18" (subscript_expression "puVar26[1]" identifier [ number_literal ]) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar26[2] = uVar28;" (assignment_expression "puVar26[2] = uVar28" (subscript_expression "puVar26[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18;" (assignment_expression "puVar26[3] = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18" (subscript_expression "puVar26[3]" identifier [ number_literal ]) = (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                     uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" ( (binary_expression "uVar16 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" ( (binary_expression "uVar16 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar16 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar10 = local_68 - 1 != uVar24;" (assignment_expression "bVar10 = local_68 - 1 != uVar24" identifier = (binary_expression "local_68 - 1 != uVar24" (binary_expression "local_68 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" identifier = identifier) ;) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) })) (if_statement "if (uVar27 == 0) {\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }\n    else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }" if (parenthesized_expression "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )) (compound_statement "{\n      operator_delete__(__s);\n      pov = (uchar *)puVar21;\n    }" { (expression_statement "operator_delete__(__s);" (call_expression "operator_delete__(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "pov = (uchar *)puVar21;" (assignment_expression "pov = (uchar *)puVar21" identifier = (cast_expression "(uchar *)puVar21" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }" else (compound_statement "{\n      puVar25 = *(ulong **)(lVar30 + 0x60);\n      pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);\n      do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);\nLAB_0019fed8:\n      operator_delete__(__s);\n    }" { (expression_statement "puVar25 = *(ulong **)(lVar30 + 0x60);" (assignment_expression "puVar25 = *(ulong **)(lVar30 + 0x60)" identifier = (pointer_expression "*(ulong **)(lVar30 + 0x60)" * (cast_expression "(ulong **)(lVar30 + 0x60)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar30 + 0x60)" ( (binary_expression "lVar30 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1);" (assignment_expression "pov = (uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1)" identifier = (cast_expression "(uchar *)(puVar21 + (ulong)(uVar27 - 1) + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + (ulong)(uVar27 - 1) + 1)" ( (binary_expression "puVar21 + (ulong)(uVar27 - 1) + 1" (binary_expression "puVar21 + (ulong)(uVar27 - 1)" identifier + (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) )))) + number_literal) )))) ;) (do_statement "do {\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      } while (puVar21 != (uint *)pov);" do (compound_statement "{\n        while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }\n        *puVar21 = 0;\n        puVar21 = puVar21 + 1;\n        puVar25 = puVar25 + 1;\n      }" { (while_statement "while (uVar24 = *puVar25, uVar24 != 0) {\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }" while (parenthesized_expression "(uVar24 = *puVar25, uVar24 != 0)" ( (comma_expression "uVar24 = *puVar25, uVar24 != 0" (assignment_expression "uVar24 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) , (binary_expression "uVar24 != 0" identifier != number_literal)) )) (compound_statement "{\n          if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;\n          puVar26 = puVar21 + 1;\n          puVar25 = puVar25 + 1;\n          uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n          *puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;\n          puVar21 = puVar26;\n          if (puVar26 == (uint *)pov) goto LAB_0019fed8;\n        }" { (if_statement "if ((strtab->key_to_offset_).size_ < uVar24) goto LAB_0019ff72;" if (parenthesized_expression "((strtab->key_to_offset_).size_ < uVar24)" ( (binary_expression "(strtab->key_to_offset_).size_ < uVar24" (field_expression "(strtab->key_to_offset_).size_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "puVar26 = puVar21 + 1;" (assignment_expression "puVar26 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);" (assignment_expression "uVar29 = (uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                          ((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" ( (ERROR "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std::" (comma_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int,_std" (binary_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std::vector<long_int" (binary_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base<std" (cast_expression "(long)(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(strtab->key_to_offset_).chunks_.\n                                 super__Vector_base" (field_expression "(strtab->key_to_offset_).chunks_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier) (ERROR "::vector" : : identifier) < identifier) , identifier) : : (binary_expression "allocator<long_int>_>,_std" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "vector<long_int,_std" (binary_expression "vector<long_int" identifier < identifier) , identifier) : : (comma_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int,_std" (binary_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base<long_int" (field_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd].\n                                 super__Vector_base" (subscript_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start[uVar24 - 1 >> 0xd]" (field_expression "allocator<long_int>_>_>_>\n                                 ._M_impl._M_start" (field_expression "allocator<long_int>_>_>_>\n                                 ._M_impl" (binary_expression "allocator<long_int>_>_>_" (binary_expression "allocator<long_int>_>_" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "uVar24 - 1 >> 0xd" (binary_expression "uVar24 - 1" identifier - number_literal) >> number_literal) ]) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_int>_>._M_impl.\n                                 _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8" (field_expression "allocator<long_int>_>._M_impl.\n                                 _M_start" (field_expression "allocator<long_int>_>._M_impl" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (binary_expression "(ulong)((uint)(uVar24 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar24 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar24 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar24 - 1) & 0x1fff" (call_expression "(uint)(uVar24 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 - 1)" ( (binary_expression "uVar24 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18;" (assignment_expression "*puVar21 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18" (pointer_expression "*puVar21" * identifier) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                     uVar29 << 0x18" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar21 = puVar26;" (assignment_expression "puVar21 = puVar26" identifier = identifier) ;) (if_statement "if (puVar26 == (uint *)pov) goto LAB_0019fed8;" if (parenthesized_expression "(puVar26 == (uint *)pov)" ( (binary_expression "puVar26 == (uint *)pov" identifier == (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_0019fed8;" goto statement_identifier ;)) })) (expression_statement "*puVar21 = 0;" (assignment_expression "*puVar21 = 0" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "puVar21 = puVar21 + 1;" (assignment_expression "puVar21 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar21 != (uint *)pov)" ( (binary_expression "puVar21 != (uint *)pov" identifier != (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) (labeled_statement "LAB_0019fed8:\n      operator_delete__(__s);" statement_identifier : (expression_statement "operator_delete__(__s);" (call_expression "operator_delete__(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) }))) (break_statement "break;" break ;)) (case_statement "case 3:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();\n    lVar30 = CONCAT44(extraout_var_03,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 8);\n    puVar25 = *(ulong **)(lVar30 + 0x50);\n    lVar6 = *(long *)(lVar30 + 0x58);\n    uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);\n    *(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    if (uVar29 != 0) {\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }\n    pov = (uchar *)puVar26;\n    if (uVar27 != 0) {\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }\n    break;" case number_literal : (if_statement "if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" if (parenthesized_expression "((*local_88)->info_offset_ != iVar12 - iVar13)" ( (binary_expression "(*local_88)->info_offset_ != iVar12 - iVar13" (field_expression "(*local_88)->info_offset_" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) != (binary_expression "iVar12 - iVar13" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x6d4,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6d4,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])();" (assignment_expression "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[6])()" identifier = (call_expression "(*(*local_88)->_vptr_Incremental_input_entry[6])()" (parenthesized_expression "(*(*local_88)->_vptr_Incremental_input_entry[6])" ( (pointer_expression "*(*local_88)->_vptr_Incremental_input_entry[6]" * (subscript_expression "(*local_88)->_vptr_Incremental_input_entry[6]" (field_expression "(*local_88)->_vptr_Incremental_input_entry" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "lVar30 = CONCAT44(extraout_var_03,iVar12);" (assignment_expression "lVar30 = CONCAT44(extraout_var_03,iVar12)" identifier = (call_expression "CONCAT44(extraout_var_03,iVar12)" identifier (argument_list "(extraout_var_03,iVar12)" ( identifier , identifier )))) ;) (if_statement "if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar30 == 0)" ( (binary_expression "lVar30 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x6d6,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6d6,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar19 = *(long *)(lVar30 + 0x38);" (assignment_expression "lVar19 = *(long *)(lVar30 + 0x38)" identifier = (pointer_expression "*(long *)(lVar30 + 0x38)" * (cast_expression "(long *)(lVar30 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x38)" ( (binary_expression "lVar30 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = (uint *)((long)pov + 8);" (assignment_expression "puVar26 = (uint *)((long)pov + 8)" identifier = (cast_expression "(uint *)((long)pov + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 8)" ( (binary_expression "(long)pov + 8" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "puVar25 = *(ulong **)(lVar30 + 0x50);" (assignment_expression "puVar25 = *(ulong **)(lVar30 + 0x50)" identifier = (pointer_expression "*(ulong **)(lVar30 + 0x50)" * (cast_expression "(ulong **)(lVar30 + 0x50)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar30 + 0x50)" ( (binary_expression "lVar30 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar6 = *(long *)(lVar30 + 0x58);" (assignment_expression "lVar6 = *(long *)(lVar30 + 0x58)" identifier = (pointer_expression "*(long *)(lVar30 + 0x58)" * (cast_expression "(long *)(lVar30 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x58)" ( (binary_expression "lVar30 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3);" (assignment_expression "uVar29 = (uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3)" identifier = (call_expression "(uint)(*(long *)(lVar30 + 0x40) - lVar19 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(long *)(lVar30 + 0x40) - lVar19 >> 3)" ( (binary_expression "*(long *)(lVar30 + 0x40) - lVar19 >> 3" (binary_expression "*(long *)(lVar30 + 0x40) - lVar19" (pointer_expression "*(long *)(lVar30 + 0x40)" * (cast_expression "(long *)(lVar30 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x40)" ( (binary_expression "lVar30 + 0x40" identifier + number_literal) )))) - identifier) >> number_literal) )))) ;) (expression_statement "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;" (assignment_expression "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar27 = (uint)(lVar6 - (long)puVar25 >> 3);" (assignment_expression "uVar27 = (uint)(lVar6 - (long)puVar25 >> 3)" identifier = (call_expression "(uint)(lVar6 - (long)puVar25 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar6 - (long)puVar25 >> 3)" ( (binary_expression "lVar6 - (long)puVar25 >> 3" (binary_expression "lVar6 - (long)puVar25" identifier - (cast_expression "(long)puVar25" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )))) ;) (expression_statement "*(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*(uint *)((long)pov + 4) =\n         uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*(uint *)((long)pov + 4)" * (cast_expression "(uint *)((long)pov + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 4)" ( (binary_expression "(long)pov + 4" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar29 != 0) {\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar24 = 0;\n      do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);\n      puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;\n    }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      } while (bVar10);" do (compound_statement "{\n        uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);\n        *(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n        bVar10 = uVar29 - 1 != uVar24;\n        uVar24 = uVar24 + 1;\n      }" { (expression_statement "uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14);" (assignment_expression "uVar14 = *(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14)" identifier = (pointer_expression "*(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14)" * (cast_expression "(uint *)(*(long *)(lVar19 + uVar24 * 8) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar19 + uVar24 * 8) + 0x14)" ( (binary_expression "*(long *)(lVar19 + uVar24 * 8) + 0x14" (pointer_expression "*(long *)(lVar19 + uVar24 * 8)" * (cast_expression "(long *)(lVar19 + uVar24 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + uVar24 * 8)" ( (binary_expression "lVar19 + uVar24 * 8" identifier + (binary_expression "uVar24 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "*(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18;" (assignment_expression "*(uint *)((long)pov + (uVar24 + 2) * 4) =\n             uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (pointer_expression "*(uint *)((long)pov + (uVar24 + 2) * 4)" * (cast_expression "(uint *)((long)pov + (uVar24 + 2) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + (uVar24 + 2) * 4)" ( (binary_expression "(long)pov + (uVar24 + 2) * 4" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(uVar24 + 2) * 4" (parenthesized_expression "(uVar24 + 2)" ( (binary_expression "uVar24 + 2" identifier + number_literal) )) * number_literal)) )))) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar10 = uVar29 - 1 != uVar24;" (assignment_expression "bVar10 = uVar29 - 1 != uVar24" identifier = (binary_expression "uVar29 - 1 != uVar24" (binary_expression "uVar29 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar10)" ( identifier )) ;) (expression_statement "puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1;" (assignment_expression "puVar26 = puVar26 + (ulong)(uVar29 - 1) + 1" identifier = (binary_expression "puVar26 + (ulong)(uVar29 - 1) + 1" (binary_expression "puVar26 + (ulong)(uVar29 - 1)" identifier + (call_expression "(ulong)(uVar29 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar29 - 1)" ( (binary_expression "uVar29 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (expression_statement "pov = (uchar *)puVar26;" (assignment_expression "pov = (uchar *)puVar26" identifier = (cast_expression "(uchar *)puVar26" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar27 != 0) {\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar24 = *puVar25;\n      uVar17 = (strtab->key_to_offset_).size_;\n      if (uVar17 < uVar24) goto LAB_0019ff72;\n      pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);\n      pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n               ._M_impl._M_start;\n      while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }\n    }" { (expression_statement "uVar24 = *puVar25;" (assignment_expression "uVar24 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "uVar17 = (strtab->key_to_offset_).size_;" (assignment_expression "uVar17 = (strtab->key_to_offset_).size_" identifier = (field_expression "(strtab->key_to_offset_).size_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar17 < uVar24) goto LAB_0019ff72;" if (parenthesized_expression "(uVar17 < uVar24)" ( (binary_expression "uVar17 < uVar24" identifier < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1);" (assignment_expression "pov = (uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1)" identifier = (cast_expression "(uchar *)(puVar26 + (ulong)(uVar27 - 1) + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + (ulong)(uVar27 - 1) + 1)" ( (binary_expression "puVar26 + (ulong)(uVar27 - 1) + 1" (binary_expression "puVar26 + (ulong)(uVar27 - 1)" identifier + (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) )))) + number_literal) )))) ;) (ERROR "pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::" (comma_expression "pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int,_std" (binary_expression "pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std::vector<long_int" (assignment_expression "pvVar7 = (strtab->key_to_offset_).chunks_.\n               super__Vector_base<std" identifier = (binary_expression "(strtab->key_to_offset_).chunks_.\n               super__Vector_base<std" (field_expression "(strtab->key_to_offset_).chunks_.\n               super__Vector_base" (field_expression "(strtab->key_to_offset_).chunks_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::vector" : : identifier) < identifier) , identifier) : : (binary_expression "allocator<long_int>_>,_std" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "vector<long_int,_std" (binary_expression "vector<long_int" identifier < identifier) , identifier) : :) (expression_statement "allocator<long_int>_>_>_>\n               ._M_impl._M_start;" (field_expression "allocator<long_int>_>_>_>\n               ._M_impl._M_start" (field_expression "allocator<long_int>_>_>_>\n               ._M_impl" (binary_expression "allocator<long_int>_>_>_" (binary_expression "allocator<long_int>_>_" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (while_statement "while( true ) {\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar25 = puVar25 + 1;\n        uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);\n        *puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n        if (puVar26 + 1 == (uint *)pov) break;\n        uVar24 = *puVar25;\n        puVar26 = puVar26 + 1;\n        if (uVar17 < uVar24) goto LAB_0019ff72;\n      }" { (expression_statement "puVar25 = puVar25 + 1;" (assignment_expression "puVar25 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8);" (assignment_expression "uVar29 = (uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                        ((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8)" ( (ERROR "(long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std::" (comma_expression "(long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int,_std" (binary_expression "(long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base<long_int" (cast_expression "(long)pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "pvVar7[uVar24 - 1 >> 0xd].\n                               super__Vector_base" (subscript_expression "pvVar7[uVar24 - 1 >> 0xd]" identifier [ (binary_expression "uVar24 - 1 >> 0xd" (binary_expression "uVar24 - 1" identifier - number_literal) >> number_literal) ]) . field_identifier)) < identifier) , identifier) : :) (binary_expression "allocator<long_int>_>._M_impl.\n                               _M_start + (ulong)((uint)(uVar24 - 1) & 0x1fff) * 8" (field_expression "allocator<long_int>_>._M_impl.\n                               _M_start" (field_expression "allocator<long_int>_>._M_impl" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (binary_expression "(ulong)((uint)(uVar24 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar24 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar24 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar24 - 1) & 0x1fff" (call_expression "(uint)(uVar24 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 - 1)" ( (binary_expression "uVar24 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;" (assignment_expression "*puVar26 = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (pointer_expression "*puVar26" * identifier) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x18" identifier << number_literal))) ;) (if_statement "if (puVar26 + 1 == (uint *)pov) break;" if (parenthesized_expression "(puVar26 + 1 == (uint *)pov)" ( (binary_expression "puVar26 + 1 == (uint *)pov" (binary_expression "puVar26 + 1" identifier + number_literal) == (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "uVar24 = *puVar25;" (assignment_expression "uVar24 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (if_statement "if (uVar17 < uVar24) goto LAB_0019ff72;" if (parenthesized_expression "(uVar17 < uVar24)" ( (binary_expression "uVar17 < uVar24" identifier < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) })) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();\n    lVar30 = CONCAT44(extraout_var_00,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    pOVar5 = *(Object **)(lVar30 + 0x40);\n    iVar12 = (*pOVar5->_vptr_Object[4])();\n    if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    iVar13 = (*pOVar5->_vptr_Object[0x1d])();\n    plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);\n    if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar24 = *(ulong *)(lVar30 + 0x38) - 1;\n    puVar26 = (uint *)((long)pov + 8);\n    lVar30 = plVar18[1];\n    uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8);\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    lVar19 = *plVar18;\n    uVar29 = (uint)(lVar30 - lVar19 >> 3);\n    if (uVar29 != 0) {\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }\n    goto LAB_0019fe3e;" case number_literal : (if_statement "if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" if (parenthesized_expression "((*local_88)->info_offset_ != iVar12 - iVar13)" ( (binary_expression "(*local_88)->info_offset_ != iVar12 - iVar13" (field_expression "(*local_88)->info_offset_" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) != (binary_expression "iVar12 - iVar13" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x69a,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69a,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])();" (assignment_expression "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[5])()" identifier = (call_expression "(*(*local_88)->_vptr_Incremental_input_entry[5])()" (parenthesized_expression "(*(*local_88)->_vptr_Incremental_input_entry[5])" ( (pointer_expression "*(*local_88)->_vptr_Incremental_input_entry[5]" * (subscript_expression "(*local_88)->_vptr_Incremental_input_entry[5]" (field_expression "(*local_88)->_vptr_Incremental_input_entry" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "lVar30 = CONCAT44(extraout_var_00,iVar12);" (assignment_expression "lVar30 = CONCAT44(extraout_var_00,iVar12)" identifier = (call_expression "CONCAT44(extraout_var_00,iVar12)" identifier (argument_list "(extraout_var_00,iVar12)" ( identifier , identifier )))) ;) (if_statement "if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar30 == 0)" ( (binary_expression "lVar30 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x69c,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69c,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "pOVar5 = *(Object **)(lVar30 + 0x40);" (assignment_expression "pOVar5 = *(Object **)(lVar30 + 0x40)" identifier = (pointer_expression "*(Object **)(lVar30 + 0x40)" * (cast_expression "(Object **)(lVar30 + 0x40)" ( (type_descriptor "Object **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar30 + 0x40)" ( (binary_expression "lVar30 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = (*pOVar5->_vptr_Object[4])();" (assignment_expression "iVar12 = (*pOVar5->_vptr_Object[4])()" identifier = (call_expression "(*pOVar5->_vptr_Object[4])()" (parenthesized_expression "(*pOVar5->_vptr_Object[4])" ( (pointer_expression "*pOVar5->_vptr_Object[4]" * (subscript_expression "pOVar5->_vptr_Object[4]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (if_statement "if ((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" if (parenthesized_expression "((Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0)" ( (binary_expression "(Dynobj *)CONCAT44(extraout_var_01,iVar12) == (Dynobj *)0x0" (cast_expression "(Dynobj *)CONCAT44(extraout_var_01,iVar12)" ( (type_descriptor "Dynobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_01,iVar12)" identifier (argument_list "(extraout_var_01,iVar12)" ( identifier , identifier )))) == (cast_expression "(Dynobj *)0x0" ( (type_descriptor "Dynobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x69f,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69f,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "iVar13 = (*pOVar5->_vptr_Object[0x1d])();" (assignment_expression "iVar13 = (*pOVar5->_vptr_Object[0x1d])()" identifier = (call_expression "(*pOVar5->_vptr_Object[0x1d])()" (parenthesized_expression "(*pOVar5->_vptr_Object[0x1d])" ( (pointer_expression "*pOVar5->_vptr_Object[0x1d]" * (subscript_expression "pOVar5->_vptr_Object[0x1d]" (field_expression "pOVar5->_vptr_Object" identifier -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "plVar18 = (long *)CONCAT44(extraout_var_02,iVar13);" (assignment_expression "plVar18 = (long *)CONCAT44(extraout_var_02,iVar13)" identifier = (cast_expression "(long *)CONCAT44(extraout_var_02,iVar13)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_02,iVar13)" identifier (argument_list "(extraout_var_02,iVar13)" ( identifier , identifier ))))) ;) (if_statement "if ((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)) {\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" if (parenthesized_expression "((strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38))" ( (binary_expression "(strtab->key_to_offset_).size_ < *(ulong *)(lVar30 + 0x38)" (field_expression "(strtab->key_to_offset_).size_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) < (pointer_expression "*(ulong *)(lVar30 + 0x38)" * (cast_expression "(ulong *)(lVar30 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x38)" ( (binary_expression "lVar30 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" { (labeled_statement "LAB_0019ff72:\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key");" (call_expression "do_gold_unreachable("../../gold/stringpool.h",0x108,"get_offset_from_key")" identifier (argument_list "("../../gold/stringpool.h",0x108,"get_offset_from_key")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""get_offset_from_key"" " string_content ") ))) ;)) })) (expression_statement "uVar24 = *(ulong *)(lVar30 + 0x38) - 1;" (assignment_expression "uVar24 = *(ulong *)(lVar30 + 0x38) - 1" identifier = (binary_expression "*(ulong *)(lVar30 + 0x38) - 1" (pointer_expression "*(ulong *)(lVar30 + 0x38)" * (cast_expression "(ulong *)(lVar30 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x38)" ( (binary_expression "lVar30 + 0x38" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "puVar26 = (uint *)((long)pov + 8);" (assignment_expression "puVar26 = (uint *)((long)pov + 8)" identifier = (cast_expression "(uint *)((long)pov + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 8)" ( (binary_expression "(long)pov + 8" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "lVar30 = plVar18[1];" (assignment_expression "lVar30 = plVar18[1]" identifier = (subscript_expression "plVar18[1]" identifier [ number_literal ])) ;) (expression_statement "uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8);" (assignment_expression "uVar29 = (uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                    ((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8)" ( (ERROR "(long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std::allocator<long_int>_>,_std::allocator<std::vector<long_int,_std::allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std::" (comma_expression "(long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int,_std" (binary_expression "(long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std::vector<long_int" (binary_expression "(long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base<std" (cast_expression "(long)(strtab->key_to_offset_).chunks_.\n                           super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(strtab->key_to_offset_).chunks_.\n                           super__Vector_base" (field_expression "(strtab->key_to_offset_).chunks_" (parenthesized_expression "(strtab->key_to_offset_)" ( (field_expression "strtab->key_to_offset_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) < identifier) (ERROR "::vector" : : identifier) < identifier) , identifier) : : (binary_expression "allocator<long_int>_>,_std" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "vector<long_int,_std" (binary_expression "vector<long_int" identifier < identifier) , identifier) : : (comma_expression "allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int,_std" (binary_expression "allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base<long_int" (field_expression "allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd].\n                           super__Vector_base" (subscript_expression "allocator<long_int>_>_>_>\n                           ._M_impl._M_start[uVar24 >> 0xd]" (field_expression "allocator<long_int>_>_>_>\n                           ._M_impl._M_start" (field_expression "allocator<long_int>_>_>_>\n                           ._M_impl" (binary_expression "allocator<long_int>_>_>_" (binary_expression "allocator<long_int>_>_" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (binary_expression "uVar24 >> 0xd" identifier >> number_literal) ]) . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<long_int>_>._M_impl._M_start\n                    + (ulong)((uint)uVar24 & 0x1fff) * 8" (field_expression "allocator<long_int>_>._M_impl._M_start" (field_expression "allocator<long_int>_>._M_impl" (binary_expression "allocator<long_int>_" (binary_expression "allocator<long_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (binary_expression "(ulong)((uint)uVar24 & 0x1fff) * 8" (call_expression "(ulong)((uint)uVar24 & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar24 & 0x1fff)" ( (binary_expression "(uint)uVar24 & 0x1fff" (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;" (assignment_expression "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x18" identifier << number_literal))) ;) (expression_statement "lVar19 = *plVar18;" (assignment_expression "lVar19 = *plVar18" identifier = (pointer_expression "*plVar18" * identifier)) ;) (expression_statement "uVar29 = (uint)(lVar30 - lVar19 >> 3);" (assignment_expression "uVar29 = (uint)(lVar30 - lVar19 >> 3)" identifier = (call_expression "(uint)(lVar30 - lVar19 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar30 - lVar19 >> 3)" ( (binary_expression "lVar30 - lVar19 >> 3" (binary_expression "lVar30 - lVar19" identifier - identifier) >> number_literal) )))) ;) (if_statement "if (uVar29 != 0) {\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar30 = 0;\n      uVar27 = 0;\n      puVar21 = puVar26;\n      do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );\n    }" { (expression_statement "lVar30 = 0;" (assignment_expression "lVar30 = 0" identifier = number_literal) ;) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) (expression_statement "puVar21 = puVar26;" (assignment_expression "puVar21 = puVar26" identifier = identifier) ;) (do_statement "do {\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      } while( true );" do (compound_statement "{\n        pSVar22 = *(Symbol **)(lVar19 + lVar30);\n        puVar26 = puVar21;\n        if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }\n        if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar18;\n        lVar30 = lVar30 + 8;\n        puVar21 = puVar26;\n      }" { (expression_statement "pSVar22 = *(Symbol **)(lVar19 + lVar30);" (assignment_expression "pSVar22 = *(Symbol **)(lVar19 + lVar30)" identifier = (pointer_expression "*(Symbol **)(lVar19 + lVar30)" * (cast_expression "(Symbol **)(lVar19 + lVar30)" ( (type_descriptor "Symbol **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar19 + lVar30)" ( (binary_expression "lVar19 + lVar30" identifier + identifier) ))))) ;) (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" identifier = identifier) ;) (if_statement "if (pSVar22 != (Symbol *)0x0) {\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }" if (parenthesized_expression "(pSVar22 != (Symbol *)0x0)" ( (binary_expression "pSVar22 != (Symbol *)0x0" identifier != (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }\n          uVar14 = pSVar22->symtab_index_;\n          if (uVar14 == 0) goto LAB_0019fd47;\n          if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }\n        }" { (if_statement "if ((pSVar22->field_0x3a & 0x10) != 0) {\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }" if (parenthesized_expression "((pSVar22->field_0x3a & 0x10) != 0)" ( (binary_expression "(pSVar22->field_0x3a & 0x10) != 0" (parenthesized_expression "(pSVar22->field_0x3a & 0x10)" ( (binary_expression "pSVar22->field_0x3a & 0x10" (field_expression "pSVar22->field_0x3a" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n            pSVar22 = Symbol_table::resolve_forwards(this->symtab_,pSVar22);\n          }" { (ERROR "pSVar22 = Symbol_table::" (assignment_expression "pSVar22 = Symbol_table" identifier = identifier) : :) (expression_statement "resolve_forwards(this->symtab_,pSVar22);" (call_expression "resolve_forwards(this->symtab_,pSVar22)" identifier (argument_list "(this->symtab_,pSVar22)" ( (field_expression "this->symtab_" identifier -> field_identifier) , identifier ))) ;) })) (expression_statement "uVar14 = pSVar22->symtab_index_;" (assignment_expression "uVar14 = pSVar22->symtab_index_" identifier = (field_expression "pSVar22->symtab_index_" identifier -> field_identifier)) ;) (if_statement "if (uVar14 == 0) goto LAB_0019fd47;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0019fd47;" goto statement_identifier ;)) (if_statement "if (uVar14 != 0xffffffff) {\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }" if (parenthesized_expression "(uVar14 != 0xffffffff)" ( (binary_expression "uVar14 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }\nLAB_0019f725:\n            puVar26 = puVar21 + 1;\n            *puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;\n            uVar27 = uVar27 + 1;\n          }" { (if_statement "if (((byte)pSVar22->field_0x39 & 3) - 1 < 2) {\n              uVar14 = uVar14 | 0x80000000;\n            }\n            else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }" if (parenthesized_expression "(((byte)pSVar22->field_0x39 & 3) - 1 < 2)" ( (binary_expression "((byte)pSVar22->field_0x39 & 3) - 1 < 2" (binary_expression "((byte)pSVar22->field_0x39 & 3) - 1" (parenthesized_expression "((byte)pSVar22->field_0x39 & 3)" ( (binary_expression "(byte)pSVar22->field_0x39 & 3" (cast_expression "(byte)pSVar22->field_0x39" ( (type_descriptor "byte" type_identifier) ) (field_expression "pSVar22->field_0x39" identifier -> field_identifier)) & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n              uVar14 = uVar14 | 0x80000000;\n            }" { (expression_statement "uVar14 = uVar14 | 0x80000000;" (assignment_expression "uVar14 = uVar14 | 0x80000000" identifier = (binary_expression "uVar14 | 0x80000000" identifier | number_literal)) ;) }) (else_clause "else {\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }" else (compound_statement "{\n              if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }\n              if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;\n              uVar14 = pSVar22->symtab_index_ | uVar14;\n            }" { (if_statement "if (((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)) {\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }" if (parenthesized_expression "(((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object))" ( (binary_expression "((pSVar22->field_0x3a & 7) == 0) && (pOVar5 == (pSVar22->u1_).object)" (parenthesized_expression "((pSVar22->field_0x3a & 7) == 0)" ( (binary_expression "(pSVar22->field_0x3a & 7) == 0" (parenthesized_expression "(pSVar22->field_0x3a & 7)" ( (binary_expression "pSVar22->field_0x3a & 7" (field_expression "pSVar22->field_0x3a" identifier -> field_identifier) & number_literal) )) == number_literal) )) && (parenthesized_expression "(pOVar5 == (pSVar22->u1_).object)" ( (binary_expression "pOVar5 == (pSVar22->u1_).object" identifier == (field_expression "(pSVar22->u1_).object" (parenthesized_expression "(pSVar22->u1_)" ( (field_expression "pSVar22->u1_" identifier -> field_identifier) )) . field_identifier)) ))) )) (compound_statement "{\n                bVar1 = pSVar22->field_0x3b;\n                if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                bVar10 = Symbol::is_common_shndx((pSVar22->u2_).shndx);\n                uVar14 = 0x80000000;\n                if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }\n              }" { (expression_statement "bVar1 = pSVar22->field_0x3b;" (assignment_expression "bVar1 = pSVar22->field_0x3b" identifier = (field_expression "pSVar22->field_0x3b" identifier -> field_identifier)) ;) (if_statement "if ((bVar1 & 0x20) != 0) {\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" if (parenthesized_expression "((bVar1 & 0x20) != 0)" ( (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar14 = uVar14 | 0x80000000;\n                  if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" { (expression_statement "uVar14 = uVar14 | 0x80000000;" (assignment_expression "uVar14 = uVar14 | 0x80000000" identifier = (binary_expression "uVar14 | 0x80000000" identifier | number_literal)) ;) (if_statement "if ((pSVar22->u2_).shndx != 0) goto LAB_0019f725;" if (parenthesized_expression "((pSVar22->u2_).shndx != 0)" ( (binary_expression "(pSVar22->u2_).shndx != 0" (field_expression "(pSVar22->u2_).shndx" (parenthesized_expression "(pSVar22->u2_)" ( (field_expression "pSVar22->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) (goto_statement "goto LAB_0019f725;" goto statement_identifier ;)) (labeled_statement "LAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;" statement_identifier : (if_statement "if ((bVar1 & 8) != 0) goto LAB_0019f792;" if (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0019f792;" goto statement_identifier ;))) (goto_statement "goto LAB_0019f7ae;" goto statement_identifier ;) })) (ERROR "bVar10 = Symbol::" (assignment_expression "bVar10 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx((pSVar22->u2_).shndx);" (call_expression "is_common_shndx((pSVar22->u2_).shndx)" identifier (argument_list "((pSVar22->u2_).shndx)" ( (field_expression "(pSVar22->u2_).shndx" (parenthesized_expression "(pSVar22->u2_)" ( (field_expression "pSVar22->u2_" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "uVar14 = 0x80000000;" (assignment_expression "uVar14 = 0x80000000" identifier = number_literal) ;) (if_statement "if (bVar10) {\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }" if (parenthesized_expression "(bVar10)" ( identifier )) (compound_statement "{\n                  bVar1 = pSVar22->field_0x3b;\n                  goto LAB_0019ff09;\n                }" { (expression_statement "bVar1 = pSVar22->field_0x3b;" (assignment_expression "bVar1 = pSVar22->field_0x3b" identifier = (field_expression "pSVar22->field_0x3b" identifier -> field_identifier)) ;) (goto_statement "goto LAB_0019ff09;" goto statement_identifier ;) })) }) (else_clause "else {\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }" else (compound_statement "{\n                if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);\n                if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }\n              }" { (if_statement "if ((pSVar22->field_0x3b & 8) == 0) goto LAB_0019f725;" if (parenthesized_expression "((pSVar22->field_0x3b & 8) == 0)" ( (binary_expression "(pSVar22->field_0x3b & 8) == 0" (parenthesized_expression "(pSVar22->field_0x3b & 8)" ( (binary_expression "pSVar22->field_0x3b & 8" (field_expression "pSVar22->field_0x3b" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019f725;" goto statement_identifier ;)) (labeled_statement "LAB_0019f792:\n                pDVar20 = Symbol_table::get_copy_source(this->symtab_,pSVar22);" statement_identifier : (ERROR "pDVar20 = Symbol_table::" (assignment_expression "pDVar20 = Symbol_table" identifier = identifier) : :) (expression_statement "get_copy_source(this->symtab_,pSVar22);" (call_expression "get_copy_source(this->symtab_,pSVar22)" identifier (argument_list "(this->symtab_,pSVar22)" ( (field_expression "this->symtab_" identifier -> field_identifier) , identifier ))) ;)) (if_statement "if (pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)) {\n                  uVar14 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }" if (parenthesized_expression "(pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12))" ( (binary_expression "pDVar20 == (Dynobj *)CONCAT44(extraout_var_01,iVar12)" identifier == (cast_expression "(Dynobj *)CONCAT44(extraout_var_01,iVar12)" ( (type_descriptor "Dynobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_01,iVar12)" identifier (argument_list "(extraout_var_01,iVar12)" ( identifier , identifier ))))) )) (compound_statement "{\n                  uVar14 = 0xc0000000;\n                }" { (expression_statement "uVar14 = 0xc0000000;" (assignment_expression "uVar14 = 0xc0000000" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }" else (compound_statement "{\nLAB_0019f7ae:\n                  uVar14 = 0;\n                }" { (labeled_statement "LAB_0019f7ae:\n                  uVar14 = 0;" statement_identifier : (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;)) }))) }))) (if_statement "if (pSVar22->symtab_index_ == 0) goto LAB_0019fd47;" if (parenthesized_expression "(pSVar22->symtab_index_ == 0)" ( (binary_expression "pSVar22->symtab_index_ == 0" (field_expression "pSVar22->symtab_index_" identifier -> field_identifier) == number_literal) )) (goto_statement "goto LAB_0019fd47;" goto statement_identifier ;)) (expression_statement "uVar14 = pSVar22->symtab_index_ | uVar14;" (assignment_expression "uVar14 = pSVar22->symtab_index_ | uVar14" identifier = (binary_expression "pSVar22->symtab_index_ | uVar14" (field_expression "pSVar22->symtab_index_" identifier -> field_identifier) | identifier)) ;) }))) (labeled_statement "LAB_0019f725:\n            puVar26 = puVar21 + 1;" statement_identifier : (expression_statement "puVar26 = puVar21 + 1;" (assignment_expression "puVar26 = puVar21 + 1" identifier = (binary_expression "puVar21 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18;" (assignment_expression "*puVar21 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18" (pointer_expression "*puVar21" * identifier) = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8 |\n                       uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 | (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar27 = uVar27 + 1;" (assignment_expression "uVar27 = uVar27 + 1" identifier = (binary_expression "uVar27 + 1" identifier + number_literal)) ;) })) })) (if_statement "if ((ulong)(uVar29 - 1) * 8 - lVar30 == 0) goto LAB_0019fe30;" if (parenthesized_expression "((ulong)(uVar29 - 1) * 8 - lVar30 == 0)" ( (binary_expression "(ulong)(uVar29 - 1) * 8 - lVar30 == 0" (binary_expression "(ulong)(uVar29 - 1) * 8 - lVar30" (binary_expression "(ulong)(uVar29 - 1) * 8" (call_expression "(ulong)(uVar29 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar29 - 1)" ( (binary_expression "uVar29 - 1" identifier - number_literal) ))) * number_literal) - identifier) == number_literal) )) (goto_statement "goto LAB_0019fe30;" goto statement_identifier ;)) (expression_statement "lVar19 = *plVar18;" (assignment_expression "lVar19 = *plVar18" identifier = (pointer_expression "*plVar18" * identifier)) ;) (expression_statement "lVar30 = lVar30 + 8;" (assignment_expression "lVar30 = lVar30 + 8" identifier = (binary_expression "lVar30 + 8" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar26;" (assignment_expression "puVar21 = puVar26" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_0019fe3e;" goto statement_identifier ;)) (case_statement "case 5:\n    if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();\n    lVar30 = CONCAT44(extraout_var,iVar12);\n    if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar19 = *(long *)(lVar30 + 0x38);\n    puVar26 = (uint *)((long)pov + 4);\n    uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;\n    uVar29 = (uint)uVar24;\n    *(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;\n    pov = (uchar *)puVar26;\n    if (uVar29 != 0) {\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" case number_literal : (if_statement "if ((*local_88)->info_offset_ != iVar12 - iVar13) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" if (parenthesized_expression "((*local_88)->info_offset_ != iVar12 - iVar13)" ( (binary_expression "(*local_88)->info_offset_ != iVar12 - iVar13" (field_expression "(*local_88)->info_offset_" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) != (binary_expression "iVar12 - iVar13" identifier - identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x5ff,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x5ff,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])();" (assignment_expression "iVar12 = (*(*local_88)->_vptr_Incremental_input_entry[3])()" identifier = (call_expression "(*(*local_88)->_vptr_Incremental_input_entry[3])()" (parenthesized_expression "(*(*local_88)->_vptr_Incremental_input_entry[3])" ( (pointer_expression "*(*local_88)->_vptr_Incremental_input_entry[3]" * (subscript_expression "(*local_88)->_vptr_Incremental_input_entry[3]" (field_expression "(*local_88)->_vptr_Incremental_input_entry" (parenthesized_expression "(*local_88)" ( (pointer_expression "*local_88" * identifier) )) -> field_identifier) [ number_literal ])) )) (argument_list "()" ( )))) ;) (expression_statement "lVar30 = CONCAT44(extraout_var,iVar12);" (assignment_expression "lVar30 = CONCAT44(extraout_var,iVar12)" identifier = (call_expression "CONCAT44(extraout_var,iVar12)" identifier (argument_list "(extraout_var,iVar12)" ( identifier , identifier )))) ;) (if_statement "if (lVar30 == 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar30 == 0)" ( (binary_expression "lVar30 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks");" (call_expression "do_gold_unreachable("../../gold/incremental.cc",0x601,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x601,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar19 = *(long *)(lVar30 + 0x38);" (assignment_expression "lVar19 = *(long *)(lVar30 + 0x38)" identifier = (pointer_expression "*(long *)(lVar30 + 0x38)" * (cast_expression "(long *)(lVar30 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x38)" ( (binary_expression "lVar30 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = (uint *)((long)pov + 4);" (assignment_expression "puVar26 = (uint *)((long)pov + 4)" identifier = (cast_expression "(uint *)((long)pov + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 4)" ( (binary_expression "(long)pov + 4" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) (expression_statement "uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3;" (assignment_expression "uVar24 = *(long *)(lVar30 + 0x40) - lVar19 >> 3" identifier = (binary_expression "*(long *)(lVar30 + 0x40) - lVar19 >> 3" (binary_expression "*(long *)(lVar30 + 0x40) - lVar19" (pointer_expression "*(long *)(lVar30 + 0x40)" * (cast_expression "(long *)(lVar30 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar30 + 0x40)" ( (binary_expression "lVar30 + 0x40" identifier + number_literal) )))) - identifier) >> number_literal)) ;) (expression_statement "uVar29 = (uint)uVar24;" (assignment_expression "uVar29 = (uint)uVar24" identifier = (cast_expression "(uint)uVar24" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18;" (assignment_expression "*(uint *)pov = uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8 |\n                   uVar29 << 0x18" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8 | (uVar29 & 0xff00) << 8" (binary_expression "uVar29 >> 0x18 | (uVar29 & 0xff0000) >> 8" (binary_expression "uVar29 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar29 & 0xff0000) >> 8" (parenthesized_expression "(uVar29 & 0xff0000)" ( (binary_expression "uVar29 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar29 & 0xff00) << 8" (parenthesized_expression "(uVar29 & 0xff00)" ( (binary_expression "uVar29 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar29 << 0x18" identifier << number_literal))) ;) (expression_statement "pov = (uchar *)puVar26;" (assignment_expression "pov = (uchar *)puVar26" identifier = (cast_expression "(uchar *)puVar26" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (uVar29 != 0) {\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" if (parenthesized_expression "(uVar29 != 0)" ( (binary_expression "uVar29 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar17 = 0;\n      while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);\n        *puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        pov = (uchar *)(puVar26 + 1);\n        if (uVar29 - 1 == uVar17) break;\n        uVar17 = uVar17 + 1;\n        puVar26 = puVar26 + 1;\n        if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" { (expression_statement "uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14);" (assignment_expression "uVar27 = *(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14)" identifier = (pointer_expression "*(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14)" * (cast_expression "(uint *)(*(long *)(lVar19 + uVar17 * 8) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar19 + uVar17 * 8) + 0x14)" ( (binary_expression "*(long *)(lVar19 + uVar17 * 8) + 0x14" (pointer_expression "*(long *)(lVar19 + uVar17 * 8)" * (cast_expression "(long *)(lVar19 + uVar17 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + uVar17 * 8)" ( (binary_expression "lVar19 + uVar17 * 8" identifier + (binary_expression "uVar17 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "*puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar26 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar26" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "pov = (uchar *)(puVar26 + 1);" (assignment_expression "pov = (uchar *)(puVar26 + 1)" identifier = (cast_expression "(uchar *)(puVar26 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 1)" ( (binary_expression "puVar26 + 1" identifier + number_literal) )))) ;) (if_statement "if (uVar29 - 1 == uVar17) break;" if (parenthesized_expression "(uVar29 - 1 == uVar17)" ( (binary_expression "uVar29 - 1 == uVar17" (binary_expression "uVar29 - 1" identifier - number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar26 = puVar26 + 1;" (assignment_expression "puVar26 = puVar26 + 1" identifier = (binary_expression "puVar26 + 1" identifier + number_literal)) ;) (if_statement "if (uVar24 == uVar17) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }" if (parenthesized_expression "(uVar24 == uVar17)" ( (binary_expression "uVar24 == uVar17" identifier == identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/incremental.h",0x149,"get_object");" (call_expression "do_gold_unreachable("../../gold/incremental.h",0x149,"get_object")" identifier (argument_list "("../../gold/incremental.h",0x149,"get_object")" ( (string_literal ""../../gold/incremental.h"" " string_content ") , number_literal , (string_literal ""get_object"" " string_content ") ))) ;) })) })) }))) })) (goto_statement "goto LAB_0019f5f4;" goto statement_identifier ;) (labeled_statement "LAB_0019fe30:\n  uVar29 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" statement_identifier : (expression_statement "uVar29 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "uVar29 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" identifier = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;)) (labeled_statement "LAB_0019fe3e:\n  *(uint *)((long)pov + 4) = uVar29;" statement_identifier : (expression_statement "*(uint *)((long)pov + 4) = uVar29;" (assignment_expression "*(uint *)((long)pov + 4) = uVar29" (pointer_expression "*(uint *)((long)pov + 4)" * (cast_expression "(uint *)((long)pov + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 4)" ( (binary_expression "(long)pov + 4" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "pov = (uchar *)puVar26;" (assignment_expression "pov = (uchar *)puVar26" identifier = (cast_expression "(uchar *)puVar26" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_0019f5f4:\n  if (((long)pov - (long)oview & 4U) != 0) {\n    *(uint *)pov = 0;\n    pov = (uchar *)((long)pov + 4);\n  }" statement_identifier : (if_statement "if (((long)pov - (long)oview & 4U) != 0) {\n    *(uint *)pov = 0;\n    pov = (uchar *)((long)pov + 4);\n  }" if (parenthesized_expression "(((long)pov - (long)oview & 4U) != 0)" ( (binary_expression "((long)pov - (long)oview & 4U) != 0" (parenthesized_expression "((long)pov - (long)oview & 4U)" ( (binary_expression "(long)pov - (long)oview & 4U" (binary_expression "(long)pov - (long)oview" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)oview" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n    *(uint *)pov = 0;\n    pov = (uchar *)((long)pov + 4);\n  }" { (expression_statement "*(uint *)pov = 0;" (assignment_expression "*(uint *)pov = 0" (pointer_expression "*(uint *)pov" * (cast_expression "(uint *)pov" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "pov = (uchar *)((long)pov + 4);" (assignment_expression "pov = (uchar *)((long)pov + 4)" identifier = (cast_expression "(uchar *)((long)pov + 4)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pov + 4)" ( (binary_expression "(long)pov + 4" (cast_expression "(long)pov" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) ;) }))) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (if_statement "if ((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88) {\n    return pov;\n  }" if (parenthesized_expression "((pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88)" ( (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish == local_88" (field_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl._M_finish" (field_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_>\n      ._M_impl" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold::Incremental_input_entry*>_" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std::allocator<gold" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold::Incremental_input_entry*,_std" (binary_expression "(pIVar4->inputs_).\n      super__Vector_base<gold" (field_expression "(pIVar4->inputs_).\n      super__Vector_base" (parenthesized_expression "(pIVar4->inputs_)" ( (field_expression "pIVar4->inputs_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Incremental_input_entry" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) == identifier) )) (compound_statement "{\n    return pov;\n  }" { (return_statement "return pov;" return identifier ;) })) (goto_statement "goto LAB_0019f550;" goto statement_identifier ;) }))
(translation_unit "uint * FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)\n\n{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}\n\n" (function_definition "uint * FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)\n\n{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}" type_identifier (pointer_declarator "* FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" * (function_declarator "FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" identifier (parameter_list "(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_6" type_identifier identifier) )))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "code *pcVar5;" type_identifier (pointer_declarator "*pcVar5" * identifier) ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char cVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar16;" (sized_type_specifier "long" long) (pointer_declarator "*plVar16" * identifier) ;) (declaration "long lVar17;" (sized_type_specifier "long" long) identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "uint *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "long lVar19;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar20;" (sized_type_specifier "long" long) (pointer_declarator "*plVar20" * identifier) ;) (declaration "ulong uVar21;" type_identifier identifier ;) (declaration "ulong *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "uint uVar25;" type_identifier identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "bool bVar28;" primitive_type identifier ;) (declaration "long *local_88;" (sized_type_specifier "long" long) (pointer_declarator "*local_88" * identifier) ;) (declaration "uint local_68;" type_identifier identifier ;) (expression_statement "plVar3 = *(long **)(param_1 + 0x38);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x38)" identifier = (pointer_expression "*(long **)(param_1 + 0x38)" * (cast_expression "(long **)(param_1 + 0x38)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x38)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);" (assignment_expression "iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8)" identifier = (pointer_expression "*(int *)(*(long *)(param_1 + 0x40) + 8)" * (cast_expression "(int *)(*(long *)(param_1 + 0x40) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x40) + 8)" ( (binary_expression "*(long *)(param_1 + 0x40) + 8" (pointer_expression "*(long *)(param_1 + 0x40)" * (cast_expression "(long *)(param_1 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "local_88 = (long *)*plVar3;" (assignment_expression "local_88 = (long *)*plVar3" identifier = (cast_expression "(long *)*plVar3" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar3" * identifier))) ;) (if_statement "if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }" if (parenthesized_expression "((long *)plVar3[1] == local_88)" ( (binary_expression "(long *)plVar3[1] == local_88" (cast_expression "(long *)plVar3[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[1]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n    return param_3;\n  }" { (return_statement "return param_3;" return identifier ;) })) (labeled_statement "LAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();" statement_identifier : (expression_statement "uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();" (assignment_expression "uVar9 = (**(code **)(*(long *)*local_88 + 0x10))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x10))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x10))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x10)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x10)" * (cast_expression "(code **)(*(long *)*local_88 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x10)" ( (binary_expression "*(long *)*local_88 + 0x10" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (expression_statement "iVar12 = (int)param_3;" (assignment_expression "iVar12 = (int)param_3" identifier = (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = (int)param_2;" (assignment_expression "iVar7 = (int)param_2" identifier = (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (switch_statement "switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" switch (parenthesized_expression "(uVar9)" ( identifier )) (compound_statement "{\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" { (case_statement "default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");" default : (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6f2,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;)) (case_statement "case 1:" case number_literal :) (case_statement "case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x616,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x20))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x20))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x20))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x20)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x20)" * (cast_expression "(code **)(*(long *)*local_88 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x20)" ( (binary_expression "*(long *)*local_88 + 0x20" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x618,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "plVar4 = *(long **)(lVar13 + 0x38);" (assignment_expression "plVar4 = *(long **)(lVar13 + 0x38)" identifier = (pointer_expression "*(long **)(lVar13 + 0x38)" * (cast_expression "(long **)(lVar13 + 0x38)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);" (assignment_expression "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4)" identifier = (cast_expression "(long *)(**(code **)(*plVar4 + 0xe8))(plVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar4 + 0xe8))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0xe8))" ( (pointer_expression "**(code **)(*plVar4 + 0xe8)" * (pointer_expression "*(code **)(*plVar4 + 0xe8)" * (cast_expression "(code **)(*plVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xe8)" ( (binary_expression "*plVar4 + 0xe8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier ))))) ;) (expression_statement "iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);" (assignment_expression "iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" identifier = (cast_expression "(int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" ( (binary_expression "*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3" (binary_expression "*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48)" (pointer_expression "*(long *)(lVar13 + 0x50)" * (cast_expression "(long *)(lVar13 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) )))) - (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) >> number_literal) )))) ;) (expression_statement "uVar27 = iVar12 * -0x55555555;" (assignment_expression "uVar27 = iVar12 * -0x55555555" identifier = (binary_expression "iVar12 * -0x55555555" identifier * number_literal)) ;) (expression_statement "lVar15 = plVar16[1];" (assignment_expression "lVar15 = plVar16[1]" identifier = (subscript_expression "plVar16[1]" identifier [ number_literal ])) ;) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "pcVar5 = *(code **)(*plVar4 + 0x128);" (assignment_expression "pcVar5 = *(code **)(*plVar4 + 0x128)" identifier = (pointer_expression "*(code **)(*plVar4 + 0x128)" * (cast_expression "(code **)(*plVar4 + 0x128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x128)" ( (binary_expression "*plVar4 + 0x128" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }" if (parenthesized_expression "(pcVar5 == FUN_001550d0)" ( (binary_expression "pcVar5 == FUN_001550d0" identifier == identifier) )) (compound_statement "{\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }" { (expression_statement "uVar25 = (**(code **)(*plVar4 + 0x188))();" (assignment_expression "uVar25 = (**(code **)(*plVar4 + 0x188))()" identifier = (call_expression "(**(code **)(*plVar4 + 0x188))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x188))" ( (pointer_expression "**(code **)(*plVar4 + 0x188)" * (pointer_expression "*(code **)(*plVar4 + 0x188)" * (cast_expression "(code **)(*plVar4 + 0x188)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x188)" ( (binary_expression "*plVar4 + 0x188" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n      uVar25 = (*pcVar5)(plVar4);\n    }" else (compound_statement "{\n      uVar25 = (*pcVar5)(plVar4);\n    }" { (expression_statement "uVar25 = (*pcVar5)(plVar4);" (assignment_expression "uVar25 = (*pcVar5)(plVar4)" identifier = (call_expression "(*pcVar5)(plVar4)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (expression_statement "pcVar5 = *(code **)(*plVar4 + 0x120);" (assignment_expression "pcVar5 = *(code **)(*plVar4 + 0x120)" identifier = (pointer_expression "*(code **)(*plVar4 + 0x120)" * (cast_expression "(code **)(*plVar4 + 0x120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x120)" ( (binary_expression "*plVar4 + 0x120" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }" if (parenthesized_expression "(pcVar5 == FUN_001550c0)" ( (binary_expression "pcVar5 == FUN_001550c0" identifier == identifier) )) (compound_statement "{\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }" { (expression_statement "uVar10 = (**(code **)(*plVar4 + 0x180))();" (assignment_expression "uVar10 = (**(code **)(*plVar4 + 0x180))()" identifier = (call_expression "(**(code **)(*plVar4 + 0x180))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x180))" ( (pointer_expression "**(code **)(*plVar4 + 0x180)" * (pointer_expression "*(code **)(*plVar4 + 0x180)" * (cast_expression "(code **)(*plVar4 + 0x180)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x180)" ( (binary_expression "*plVar4 + 0x180" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n      uVar10 = (*pcVar5)(plVar4);\n    }" else (compound_statement "{\n      uVar10 = (*pcVar5)(plVar4);\n    }" { (expression_statement "uVar10 = (*pcVar5)(plVar4);" (assignment_expression "uVar10 = (*pcVar5)(plVar4)" identifier = (call_expression "(*pcVar5)(plVar4)" (parenthesized_expression "(*pcVar5)" ( (pointer_expression "*pcVar5" * identifier) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (expression_statement "uVar11 = *(uint *)(plVar4 + 0x14);" (assignment_expression "uVar11 = *(uint *)(plVar4 + 0x14)" identifier = (pointer_expression "*(uint *)(plVar4 + 0x14)" * (cast_expression "(uint *)(plVar4 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4 + 0x14)" ( (binary_expression "plVar4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar24 = *(uint *)((long)plVar4 + 0xa4);" (assignment_expression "uVar24 = *(uint *)((long)plVar4 + 0xa4)" identifier = (pointer_expression "*(uint *)((long)plVar4 + 0xa4)" * (cast_expression "(uint *)((long)plVar4 + 0xa4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar4 + 0xa4)" ( (binary_expression "(long)plVar4 + 0xa4" (cast_expression "(long)plVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "lVar17 = *(long *)(lVar13 + 0x68);" (assignment_expression "lVar17 = *(long *)(lVar13 + 0x68)" identifier = (pointer_expression "*(long *)(lVar13 + 0x68)" * (cast_expression "(long *)(lVar13 + 0x68)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x68)" ( (binary_expression "lVar13 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "lVar6 = *(long *)(lVar13 + 0x60);" (assignment_expression "lVar6 = *(long *)(lVar13 + 0x60)" identifier = (pointer_expression "*(long *)(lVar13 + 0x60)" * (cast_expression "(long *)(lVar13 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;" (assignment_expression "param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (subscript_expression "param_3[3]" identifier [ number_literal ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;" (assignment_expression "param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (subscript_expression "param_3[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 "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "iVar12 * -0x55000000" identifier * number_literal))) ;) (expression_statement "local_68 = (uint)(lVar15 - lVar19 >> 3);" (assignment_expression "local_68 = (uint)(lVar15 - lVar19 >> 3)" identifier = (call_expression "(uint)(lVar15 - lVar19 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar15 - lVar19 >> 3)" ( (binary_expression "lVar15 - lVar19 >> 3" (binary_expression "lVar15 - lVar19" identifier - identifier) >> number_literal) )))) ;) (expression_statement "param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;" (assignment_expression "param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (subscript_expression "param_3[5]" identifier [ number_literal ]) = (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[2]" identifier [ number_literal ]) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar25 = (uint)(lVar17 - lVar6 >> 3);" (assignment_expression "uVar25 = (uint)(lVar17 - lVar6 >> 3)" identifier = (call_expression "(uint)(lVar17 - lVar6 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar17 - lVar6 >> 3)" ( (binary_expression "lVar17 - lVar6 >> 3" (binary_expression "lVar17 - lVar6" identifier - identifier) >> number_literal) )))) ;) (expression_statement "puVar23 = param_3 + 8;" (assignment_expression "puVar23 = param_3 + 8" identifier = (binary_expression "param_3 + 8" identifier + number_literal)) ;) (expression_statement "param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;" (assignment_expression "param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8" (binary_expression "local_68 >> 0x18" identifier >> number_literal) | (binary_expression "(local_68 & 0xff0000) >> 8" (parenthesized_expression "(local_68 & 0xff0000)" ( (binary_expression "local_68 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(local_68 & 0xff00) << 8" (parenthesized_expression "(local_68 & 0xff00)" ( (binary_expression "local_68 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "local_68 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[6]" identifier [ number_literal ]) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3[7] = 0;" (assignment_expression "param_3[7] = 0" (subscript_expression "param_3[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "__s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);" (assignment_expression "__s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" identifier = (cast_expression "(void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" identifier (argument_list "((ulong)*(uint *)(plVar4 + 7) << 2)" ( (binary_expression "(ulong)*(uint *)(plVar4 + 7) << 2" (binary_expression "(ulong)*(uint *)(plVar4 + 7)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar4 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4 + 7)" ( (binary_expression "plVar4 + 7" identifier + number_literal) )))) << number_literal) ))))) ;) (expression_statement "memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);" (call_expression "memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2)" identifier (argument_list "(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2)" ( identifier , number_literal , (binary_expression "(ulong)*(uint *)(plVar4 + 7) << 2" (binary_expression "(ulong)*(uint *)(plVar4 + 7)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar4 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4 + 7)" ( (binary_expression "plVar4 + 7" identifier + number_literal) )))) << number_literal) ))) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) (if_statement "if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }" { (do_statement "do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);" do (compound_statement "{\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      }" { (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" identifier = (binary_expression "uVar26 + 1" identifier + number_literal)) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));" (assignment_expression "puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" identifier = (cast_expression "(uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" ( (binary_expression "(long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3)" (binary_expression "(long)puVar23 + *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) + (parenthesized_expression "(-0x20 - (long)param_3)" ( (binary_expression "-0x20 - (long)param_3" number_literal - (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) )))) ;) (expression_statement "uVar10 = *puVar18;" (assignment_expression "uVar10 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "uVar14 = (ulong)uVar10;" (assignment_expression "uVar14 = (ulong)uVar10" identifier = (cast_expression "(ulong)uVar10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar21 = *(ulong *)(puVar18 + 2);" (assignment_expression "uVar21 = *(ulong *)(puVar18 + 2)" identifier = (pointer_expression "*(ulong *)(puVar18 + 2)" * (cast_expression "(ulong *)(puVar18 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 2)" ( (binary_expression "puVar18 + 2" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)((long)__s + uVar14 * 4) = uVar26;" (assignment_expression "*(uint *)((long)__s + uVar14 * 4) = uVar26" (pointer_expression "*(uint *)((long)__s + uVar14 * 4)" * (cast_expression "(uint *)((long)__s + uVar14 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + uVar14 * 4)" ( (binary_expression "(long)__s + uVar14 * 4" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "uVar14 * 4" identifier * number_literal)) )))) = identifier) ;) (if_statement "if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }" if (parenthesized_expression "(uVar21 != 0)" ( (binary_expression "uVar21 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }" { (if_statement "if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < uVar21)" ( (binary_expression "*(ulong *)(param_4 + 0x50) < uVar21" (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (binary_expression "*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" * (cast_expression "(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" ( (binary_expression "(uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)" (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" ( (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" identifier - number_literal) >> number_literal) )) * number_literal) + (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) ))))) )))) + (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) })) (if_statement "if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" if (parenthesized_expression "(*(code **)(*plVar4 + 0xc0) == FUN_00156120)" ( (binary_expression "*(code **)(*plVar4 + 0xc0) == FUN_00156120" (pointer_expression "*(code **)(*plVar4 + 0xc0)" * (cast_expression "(code **)(*plVar4 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xc0)" ( (binary_expression "*plVar4 + 0xc0" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }" { (if_statement "if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }" if (parenthesized_expression "((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14)" ( (binary_expression "(ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14" (call_expression "(ulong)(plVar4[0xb] - plVar4[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar4[0xb] - plVar4[10] >> 3)" ( (binary_expression "plVar4[0xb] - plVar4[10] >> 3" (binary_expression "plVar4[0xb] - plVar4[10]" (subscript_expression "plVar4[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar4[10]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }" { (expression_statement "FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "plVar20 = *(long **)(plVar4[10] + uVar14 * 8);" (assignment_expression "plVar20 = *(long **)(plVar4[10] + uVar14 * 8)" identifier = (pointer_expression "*(long **)(plVar4[10] + uVar14 * 8)" * (cast_expression "(long **)(plVar4[10] + uVar14 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar4[10] + uVar14 * 8)" ( (binary_expression "plVar4[10] + uVar14 * 8" (subscript_expression "plVar4[10]" identifier [ number_literal ]) + (binary_expression "uVar14 * 8" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" else (compound_statement "{\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" { (expression_statement "plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);" (assignment_expression "plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4)" identifier = (cast_expression "(long *)(**(code **)(*plVar4 + 0xc0))(plVar4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar4 + 0xc0))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0xc0))" ( (pointer_expression "**(code **)(*plVar4 + 0xc0)" * (pointer_expression "*(code **)(*plVar4 + 0xc0)" * (cast_expression "(code **)(*plVar4 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xc0)" ( (binary_expression "*plVar4 + 0xc0" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier ))))) ;) }))) (if_statement "if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" if (parenthesized_expression "(plVar20 == (long *)0x0)" ( (binary_expression "plVar20 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" else (compound_statement "{\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" { (if_statement "if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" if (parenthesized_expression "(*(code **)(*plVar20 + 0x58) == FUN_001869e0)" ( (binary_expression "*(code **)(*plVar20 + 0x58) == FUN_001869e0" (pointer_expression "*(code **)(*plVar20 + 0x58)" * (cast_expression "(code **)(*plVar20 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar20 + 0x58)" ( (binary_expression "*plVar20 + 0x58" (pointer_expression "*plVar20" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }" { (expression_statement "uVar24 = *(uint *)((long)plVar20 + 0x7c);" (assignment_expression "uVar24 = *(uint *)((long)plVar20 + 0x7c)" identifier = (pointer_expression "*(uint *)((long)plVar20 + 0x7c)" * (cast_expression "(uint *)((long)plVar20 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar20 + 0x7c)" ( (binary_expression "(long)plVar20 + 0x7c" (cast_expression "(long)plVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }" if (parenthesized_expression "(uVar24 == 0xffffffff)" ( (binary_expression "uVar24 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }" { (expression_statement "FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");" (call_expression "FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx")" identifier (argument_list "("../../gold/output.h",0x1043,"do_out_shndx")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""do_out_shndx"" " string_content ") ))) ;) })) }) (else_clause "else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" else (compound_statement "{\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" { (expression_statement "uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);" (assignment_expression "uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20)" identifier = (call_expression "(**(code **)(*plVar20 + 0x58))(plVar20)" (parenthesized_expression "(**(code **)(*plVar20 + 0x58))" ( (pointer_expression "**(code **)(*plVar20 + 0x58)" * (pointer_expression "*(code **)(*plVar20 + 0x58)" * (cast_expression "(code **)(*plVar20 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar20 + 0x58)" ( (binary_expression "*plVar20 + 0x58" (pointer_expression "*plVar20" * identifier) + number_literal) ))))) )) (argument_list "(plVar20)" ( identifier )))) ;) }))) (expression_statement "uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);" (assignment_expression "uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10)" identifier = (call_expression "(**(code **)(*plVar4 + 0xd0))(plVar4,uVar10)" (parenthesized_expression "(**(code **)(*plVar4 + 0xd0))" ( (pointer_expression "**(code **)(*plVar4 + 0xd0)" * (pointer_expression "*(code **)(*plVar4 + 0xd0)" * (cast_expression "(code **)(*plVar4 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xd0)" ( (binary_expression "*plVar4 + 0xd0" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,uVar10)" ( identifier , identifier )))) ;) (expression_statement "uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;" (assignment_expression "uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38" identifier = (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28" (binary_expression "uVar21 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar21 & 0xff000000000000)" ( (binary_expression "uVar21 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar21 & 0xff0000000000)" ( (binary_expression "uVar21 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00000000) >> 8" (parenthesized_expression "(uVar21 & 0xff00000000)" ( (binary_expression "uVar21 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff000000) << 8" (parenthesized_expression "(uVar21 & 0xff000000)" ( (binary_expression "uVar21 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar21 & 0xff0000) << 0x18" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar21 & 0xff00) << 0x28" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));" (assignment_expression "uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" identifier = (pointer_expression "*(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" * (cast_expression "(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" ( (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3)" (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10" (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (pointer_expression "*(long *)(lVar13 + 0x48)" * (cast_expression "(long *)(lVar13 + 0x48)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x48)" ( (binary_expression "lVar13 + 0x48" identifier + number_literal) ))))) + number_literal) + (parenthesized_expression "(-0x20 - (long)param_3)" ( (binary_expression "-0x20 - (long)param_3" number_literal - (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ))) ))))) ;) (expression_statement "uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;" (assignment_expression "uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18" identifier = (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" ( (binary_expression "uVar24 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" ( (binary_expression "uVar24 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar24 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;" (assignment_expression "uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" identifier = (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28" (binary_expression "uVar14 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar14 & 0xff000000000000)" ( (binary_expression "uVar14 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar14 & 0xff0000000000)" ( (binary_expression "uVar14 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00000000) >> 8" (parenthesized_expression "(uVar14 & 0xff00000000)" ( (binary_expression "uVar14 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff000000) << 8" (parenthesized_expression "(uVar14 & 0xff000000)" ( (binary_expression "uVar14 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff0000) << 0x18" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar14 & 0xff00) << 0x28" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x38" identifier << number_literal))) ;) }))) (expression_statement "puVar23[1] = uVar10;" (assignment_expression "puVar23[1] = uVar10" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar18 = puVar23 + 6;" (assignment_expression "puVar18 = puVar23 + 6" identifier = (binary_expression "puVar23 + 6" identifier + number_literal)) ;) (expression_statement "*puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;" (assignment_expression "*puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   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 "*(ulong *)(puVar23 + 2) = uVar21;" (assignment_expression "*(ulong *)(puVar23 + 2) = uVar21" (pointer_expression "*(ulong *)(puVar23 + 2)" * (cast_expression "(ulong *)(puVar23 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 2)" ( (binary_expression "puVar23 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(ulong *)(puVar23 + 4) = uVar14;" (assignment_expression "*(ulong *)(puVar23 + 4) = uVar14" (pointer_expression "*(ulong *)(puVar23 + 4)" * (cast_expression "(ulong *)(puVar23 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + 4)" ( (binary_expression "puVar23 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(uVar26 != uVar27)" ( (binary_expression "uVar26 != uVar27" identifier != identifier) )) ;) })) (if_statement "if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }" if (parenthesized_expression "(local_68 != 0)" ( (binary_expression "local_68 != 0" identifier != number_literal) )) (compound_statement "{\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }" { (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);" do (compound_statement "{\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      }" { (expression_statement "lVar15 = *(long *)(*plVar16 + uVar21 * 8);" (assignment_expression "lVar15 = *(long *)(*plVar16 + uVar21 * 8)" identifier = (pointer_expression "*(long *)(*plVar16 + uVar21 * 8)" * (cast_expression "(long *)(*plVar16 + uVar21 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*plVar16 + uVar21 * 8)" ( (binary_expression "*plVar16 + uVar21 * 8" (pointer_expression "*plVar16" * identifier) + (binary_expression "uVar21 * 8" identifier * number_literal)) ))))) ;) (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)(lVar15 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar15 + 0x3a)" * (cast_expression "(byte *)(lVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3a)" ( (binary_expression "lVar15 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }" { (expression_statement "lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));" (assignment_expression "lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40))" identifier = (call_expression "FUN_002713d0(*(undefined8 *)(param_1 + 0x40))" identifier (argument_list "(*(undefined8 *)(param_1 + 0x40))" ( (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) )))) ;) })) (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar15 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar15 + 0x3a)" * (cast_expression "(byte *)(lVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3a)" ( (binary_expression "lVar15 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }" { (if_statement "if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }" if (parenthesized_expression "(plVar4 == *(long **)(lVar15 + 0x10))" ( (binary_expression "plVar4 == *(long **)(lVar15 + 0x10)" identifier == (pointer_expression "*(long **)(lVar15 + 0x10)" * (cast_expression "(long **)(lVar15 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar15 + 0x10)" ( (binary_expression "lVar15 + 0x10" identifier + number_literal) ))))) )) (compound_statement "{\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }" { (expression_statement "uVar27 = *(uint *)(lVar15 + 0x18);" (assignment_expression "uVar27 = *(uint *)(lVar15 + 0x18)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x18)" * (cast_expression "(uint *)(lVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar15 + 0x3b)" * (cast_expression "(byte *)(lVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3b)" ( (binary_expression "lVar15 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }" { (expression_statement "cVar8 = FUN_00270fe0();" (assignment_expression "cVar8 = FUN_00270fe0()" identifier = (call_expression "FUN_00270fe0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" if (parenthesized_expression "(cVar8 == '\0')" ( (binary_expression "cVar8 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" { (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar15 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar15 + 0x3a)" * (cast_expression "(byte *)(lVar15 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3a)" ( (binary_expression "lVar15 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }" { (expression_statement "FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");" (call_expression "FUN_0017c650("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;) })) (expression_statement "uVar27 = *(uint *)(lVar15 + 0x18);" (assignment_expression "uVar27 = *(uint *)(lVar15 + 0x18)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x18)" * (cast_expression "(uint *)(lVar15 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)(lVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar15 + 0x3b)" * (cast_expression "(byte *)(lVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3b)" ( (binary_expression "lVar15 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }" { (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0019fc56;" goto statement_identifier ;) })) (goto_statement "goto LAB_0019fd71;" goto statement_identifier ;) })) }) (else_clause "else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" else (if_statement "if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" { (labeled_statement "LAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);" statement_identifier : (expression_statement "uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);" (assignment_expression "uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4)" identifier = (pointer_expression "*(uint *)((long)__s + (ulong)uVar27 * 4)" * (cast_expression "(uint *)((long)__s + (ulong)uVar27 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)__s + (ulong)uVar27 * 4)" ( (binary_expression "(long)__s + (ulong)uVar27 * 4" (cast_expression "(long)__s" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)uVar27 * 4" (cast_expression "(ulong)uVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;)) (goto_statement "goto LAB_0019fc56;" goto statement_identifier ;) })))) })) (labeled_statement "LAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);" statement_identifier : (expression_statement "uVar10 = *(uint *)(lVar15 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar15 + 0x1c)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x1c)" * (cast_expression "(uint *)(lVar15 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x1c)" ( (binary_expression "lVar15 + 0x1c" identifier + number_literal) ))))) ;)) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" else (compound_statement "{\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" { (if_statement "if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;" if (parenthesized_expression "((*(byte *)(lVar15 + 0x3c) & 4) != 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x3c) & 4) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3c) & 4)" ( (binary_expression "*(byte *)(lVar15 + 0x3c) & 4" (pointer_expression "*(byte *)(lVar15 + 0x3c)" * (cast_expression "(byte *)(lVar15 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3c)" ( (binary_expression "lVar15 + 0x3c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0019fd3a;" goto statement_identifier ;)) (expression_statement "uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);" (assignment_expression "uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" identifier = (unary_expression "-(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" - (call_expression "(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" ( (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1" (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3 & 1" (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3" (pointer_expression "*(byte *)(lVar15 + 0x3b)" * (cast_expression "(byte *)(lVar15 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x3b)" ( (binary_expression "lVar15 + 0x3b" identifier + number_literal) )))) >> number_literal) & number_literal) ^ number_literal) ))))) ;) (labeled_statement "LAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);" statement_identifier : (expression_statement "uVar10 = *(uint *)(lVar15 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar15 + 0x1c)" identifier = (pointer_expression "*(uint *)(lVar15 + 0x1c)" * (cast_expression "(uint *)(lVar15 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x1c)" ( (binary_expression "lVar15 + 0x1c" identifier + number_literal) ))))) ;)) }))) (if_statement "if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }" { (labeled_statement "LAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index")" identifier (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""symtab_index"" " string_content ") ))) ;)) })) (if_statement "if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" if (parenthesized_expression "(*(code **)(*plVar4 + 0x100) == FUN_001550f0)" ( (binary_expression "*(code **)(*plVar4 + 0x100) == FUN_001550f0" (pointer_expression "*(code **)(*plVar4 + 0x100)" * (cast_expression "(code **)(*plVar4 + 0x100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x100)" ( (binary_expression "*plVar4 + 0x100" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }" { (expression_statement "uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);" (assignment_expression "uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4)" identifier = (pointer_expression "*(uint *)(plVar4[0x12] + uVar21 * 4)" * (cast_expression "(uint *)(plVar4[0x12] + uVar21 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4[0x12] + uVar21 * 4)" ( (binary_expression "plVar4[0x12] + uVar21 * 4" (subscript_expression "plVar4[0x12]" identifier [ number_literal ]) + (binary_expression "uVar21 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" else (compound_statement "{\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" { (expression_statement "uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);" (assignment_expression "uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 0x100))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x100))" ( (pointer_expression "**(code **)(*plVar4 + 0x100)" * (pointer_expression "*(code **)(*plVar4 + 0x100)" * (cast_expression "(code **)(*plVar4 + 0x100)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x100)" ( (binary_expression "*plVar4 + 0x100" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (if_statement "if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar26 = 0;\n          uVar24 = 0;\n        }" { (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" else (compound_statement "{\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" { (if_statement "if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" if (parenthesized_expression "((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24))" ( (binary_expression "(uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)" (parenthesized_expression "(uVar10 == 0xffffffff)" ( (binary_expression "uVar10 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(uVar24 = uVar10 - iVar2, param_6 <= uVar24)" ( (comma_expression "uVar24 = uVar10 - iVar2, param_6 <= uVar24" (assignment_expression "uVar24 = uVar10 - iVar2" identifier = (binary_expression "uVar10 - iVar2" identifier - identifier)) , (binary_expression "param_6 <= uVar24" identifier <= identifier)) ))) )) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x678,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" if (parenthesized_expression "(*(code **)(*plVar4 + 0xf8) == FUN_001550e0)" ( (binary_expression "*(code **)(*plVar4 + 0xf8) == FUN_001550e0" (pointer_expression "*(code **)(*plVar4 + 0xf8)" * (cast_expression "(code **)(*plVar4 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xf8)" ( (binary_expression "*plVar4 + 0xf8" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }" { (expression_statement "iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);" (assignment_expression "iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4)" identifier = (pointer_expression "*(int *)(plVar4[0x13] + uVar21 * 4)" * (cast_expression "(int *)(plVar4[0x13] + uVar21 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar4[0x13] + uVar21 * 4)" ( (binary_expression "plVar4[0x13] + uVar21 * 4" (subscript_expression "plVar4[0x13]" identifier [ number_literal ]) + (binary_expression "uVar21 * 4" identifier * number_literal)) ))))) ;) }) (else_clause "else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" else (compound_statement "{\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" { (expression_statement "iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);" (assignment_expression "iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff)" identifier = (call_expression "(**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff)" (parenthesized_expression "(**(code **)(*plVar4 + 0xf8))" ( (pointer_expression "**(code **)(*plVar4 + 0xf8)" * (pointer_expression "*(code **)(*plVar4 + 0xf8)" * (cast_expression "(code **)(*plVar4 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xf8)" ( (binary_expression "*plVar4 + 0xf8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,uVar21 & 0xffffffff)" ( identifier , (binary_expression "uVar21 & 0xffffffff" identifier & number_literal) )))) ;) }))) (expression_statement "uVar26 = iVar12 * 0x18;" (assignment_expression "uVar26 = iVar12 * 0x18" identifier = (binary_expression "iVar12 * 0x18" identifier * number_literal)) ;) (expression_statement "puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);" (assignment_expression "puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4)" identifier = (cast_expression "(uint *)(param_5 + (ulong)uVar24 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + (ulong)uVar24 * 4)" ( (binary_expression "param_5 + (ulong)uVar24 * 4" identifier + (binary_expression "(ulong)uVar24 * 4" (cast_expression "(ulong)uVar24" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;" (assignment_expression "uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" identifier = (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" ( (binary_expression "uVar26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" ( (binary_expression "uVar26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "iVar12 * 0x18000000" identifier * number_literal))) ;) (expression_statement "uVar26 = *puVar18;" (assignment_expression "uVar26 = *puVar18" identifier = (pointer_expression "*puVar18" * identifier)) ;) (expression_statement "*puVar18 = (int)puVar23 - iVar7;" (assignment_expression "*puVar18 = (int)puVar23 - iVar7" (pointer_expression "*puVar18" * identifier) = (binary_expression "(int)puVar23 - iVar7" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ;) (expression_statement "uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;" (assignment_expression "uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18" identifier = (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" ( (binary_expression "uVar26 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" ( (binary_expression "uVar26 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar26 << 0x18" identifier << number_literal))) ;) }))) (expression_statement "puVar23[4] = uVar24;" (assignment_expression "puVar23[4] = uVar24" (subscript_expression "puVar23[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "*puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar18 = puVar23 + 5;" (assignment_expression "puVar18 = puVar23 + 5" identifier = (binary_expression "puVar23 + 5" identifier + number_literal)) ;) (expression_statement "puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;" (assignment_expression "puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18" (subscript_expression "puVar23[1]" identifier [ number_literal ]) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar23[2] = uVar26;" (assignment_expression "puVar23[2] = uVar26" (subscript_expression "puVar23[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;" (assignment_expression "puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (subscript_expression "puVar23[3]" identifier [ number_literal ]) = (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     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 "bVar28 = local_68 - 1 != uVar21;" (assignment_expression "bVar28 = local_68 - 1 != uVar21" identifier = (binary_expression "local_68 - 1 != uVar21" (binary_expression "local_68 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) })) (if_statement "if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" if (parenthesized_expression "(uVar25 == 0)" ( (binary_expression "uVar25 == 0" identifier == number_literal) )) (compound_statement "{\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }" { (expression_statement "thunk_FUN_002dac60(__s);" (call_expression "thunk_FUN_002dac60(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (expression_statement "param_3 = puVar18;" (assignment_expression "param_3 = puVar18" identifier = identifier) ;) }) (else_clause "else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" else (compound_statement "{\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" { (expression_statement "puVar22 = *(ulong **)(lVar13 + 0x60);" (assignment_expression "puVar22 = *(ulong **)(lVar13 + 0x60)" identifier = (pointer_expression "*(ulong **)(lVar13 + 0x60)" * (cast_expression "(ulong **)(lVar13 + 0x60)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x60)" ( (binary_expression "lVar13 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;" (assignment_expression "param_3 = puVar18 + (ulong)(uVar25 - 1) + 1" identifier = (binary_expression "puVar18 + (ulong)(uVar25 - 1) + 1" (binary_expression "puVar18 + (ulong)(uVar25 - 1)" identifier + (call_expression "(ulong)(uVar25 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar25 - 1)" ( (binary_expression "uVar25 - 1" identifier - number_literal) )))) + number_literal)) ;) (do_statement "do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);" do (compound_statement "{\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      }" { (while_statement "while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }" while (parenthesized_expression "(uVar21 = *puVar22, uVar21 == 0)" ( (comma_expression "uVar21 = *puVar22, uVar21 == 0" (assignment_expression "uVar21 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) , (binary_expression "uVar21 == 0" identifier == number_literal)) )) (compound_statement "{\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }" { (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" * identifier) = number_literal) ;) (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (if_statement "if (puVar18 == param_3) goto LAB_0019fed8;" if (parenthesized_expression "(puVar18 == param_3)" ( (binary_expression "puVar18 == param_3" identifier == identifier) )) (goto_statement "goto LAB_0019fed8;" goto statement_identifier ;)) })) (if_statement "if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < uVar21)" ( (binary_expression "*(ulong *)(param_4 + 0x50) < uVar21" (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) )))) < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "puVar23 = puVar18 + 1;" (assignment_expression "puVar23 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;) (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" * (cast_expression "(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" ( (binary_expression "*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18" (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) )))) + (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" ( (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" identifier - number_literal) >> number_literal) )) * number_literal)) )))) + (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar18" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(puVar23 != param_3)" ( (binary_expression "puVar23 != param_3" identifier != identifier) )) ;) (labeled_statement "LAB_0019fed8:\n      thunk_FUN_002dac60(__s);" statement_identifier : (expression_statement "thunk_FUN_002dac60(__s);" (call_expression "thunk_FUN_002dac60(__s)" identifier (argument_list "(__s)" ( identifier ))) ;)) }))) (break_statement "break;" break ;)) (case_statement "case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6d4,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x30))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x30))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x30))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x30)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x30)" * (cast_expression "(code **)(*(long *)*local_88 + 0x30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x30)" ( (binary_expression "*(long *)*local_88 + 0x30" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x6d6,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar15 = *(long *)(lVar13 + 0x38);" (assignment_expression "lVar15 = *(long *)(lVar13 + 0x38)" identifier = (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar23 = param_3 + 2;" (assignment_expression "puVar23 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "puVar22 = *(ulong **)(lVar13 + 0x50);" (assignment_expression "puVar22 = *(ulong **)(lVar13 + 0x50)" identifier = (pointer_expression "*(ulong **)(lVar13 + 0x50)" * (cast_expression "(ulong **)(lVar13 + 0x50)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x50)" ( (binary_expression "lVar13 + 0x50" identifier + number_literal) ))))) ;) (expression_statement "lVar19 = *(long *)(lVar13 + 0x58);" (assignment_expression "lVar19 = *(long *)(lVar13 + 0x58)" identifier = (pointer_expression "*(long *)(lVar13 + 0x58)" * (cast_expression "(long *)(lVar13 + 0x58)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x58)" ( (binary_expression "lVar13 + 0x58" identifier + number_literal) ))))) ;) (expression_statement "uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);" (assignment_expression "uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" identifier = (call_expression "(uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" ( (binary_expression "*(long *)(lVar13 + 0x40) - lVar15 >> 3" (binary_expression "*(long *)(lVar13 + 0x40) - lVar15" (pointer_expression "*(long *)(lVar13 + 0x40)" * (cast_expression "(long *)(lVar13 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x40)" ( (binary_expression "lVar13 + 0x40" identifier + number_literal) )))) - identifier) >> number_literal) )))) ;) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);" (assignment_expression "uVar25 = (uint)(lVar19 - (long)puVar22 >> 3)" identifier = (call_expression "(uint)(lVar19 - (long)puVar22 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar19 - (long)puVar22 >> 3)" ( (binary_expression "lVar19 - (long)puVar22 >> 3" (binary_expression "lVar19 - (long)puVar22" identifier - (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )))) ;) (expression_statement "param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[1]" identifier [ number_literal ]) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (if_statement "if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);" do (compound_statement "{\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      }" { (expression_statement "uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);" (assignment_expression "uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" identifier = (pointer_expression "*(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" * (cast_expression "(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + uVar21 * 8) + 0x14)" ( (binary_expression "*(long *)(lVar15 + uVar21 * 8) + 0x14" (pointer_expression "*(long *)(lVar15 + uVar21 * 8)" * (cast_expression "(long *)(lVar15 + uVar21 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + uVar21 * 8)" ( (binary_expression "lVar15 + uVar21 * 8" identifier + (binary_expression "uVar21 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;" (assignment_expression "param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (subscript_expression "param_3[uVar21 + 2]" identifier [ (binary_expression "uVar21 + 2" identifier + number_literal) ]) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "bVar28 = uVar27 - 1 != uVar21;" (assignment_expression "bVar28 = uVar27 - 1 != uVar21" identifier = (binary_expression "uVar27 - 1 != uVar21" (binary_expression "uVar27 - 1" identifier - number_literal) != identifier)) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar28)" ( identifier )) ;) (expression_statement "puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;" (assignment_expression "puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1" identifier = (binary_expression "puVar23 + (ulong)(uVar27 - 1) + 1" (binary_expression "puVar23 + (ulong)(uVar27 - 1)" identifier + (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) )))) + number_literal)) ;) })) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" identifier = identifier) ;) (if_statement "if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }" if (parenthesized_expression "(uVar25 != 0)" ( (binary_expression "uVar25 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }" { (expression_statement "uVar21 = *puVar22;" (assignment_expression "uVar21 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "uVar14 = *(ulong *)(param_4 + 0x50);" (assignment_expression "uVar14 = *(ulong *)(param_4 + 0x50)" identifier = (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) ))))) ;) (if_statement "if (uVar14 < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(uVar14 < uVar21)" ( (binary_expression "uVar14 < uVar21" identifier < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) (expression_statement "param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;" (assignment_expression "param_3 = puVar23 + (ulong)(uVar25 - 1) + 1" identifier = (binary_expression "puVar23 + (ulong)(uVar25 - 1) + 1" (binary_expression "puVar23 + (ulong)(uVar25 - 1)" identifier + (call_expression "(ulong)(uVar25 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar25 - 1)" ( (binary_expression "uVar25 - 1" identifier - number_literal) )))) + number_literal)) ;) (expression_statement "lVar13 = *(long *)(param_4 + 0x38);" (assignment_expression "lVar13 = *(long *)(param_4 + 0x38)" identifier = (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }" { (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" identifier = (binary_expression "puVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" ( (binary_expression "*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" * (cast_expression "(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" ( (binary_expression "lVar13 + (uVar21 - 1 >> 0xd) * 0x18" identifier + (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" ( (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" identifier - number_literal) >> number_literal) )) * number_literal)) )))) + (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" ( (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 - 1)" ( (binary_expression "uVar21 - 1" identifier - number_literal) ))) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (if_statement "if (puVar23 + 1 == param_3) break;" if (parenthesized_expression "(puVar23 + 1 == param_3)" ( (binary_expression "puVar23 + 1 == param_3" (binary_expression "puVar23 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar21 = *puVar22;" (assignment_expression "uVar21 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (if_statement "if (uVar14 < uVar21) goto LAB_0019ff72;" if (parenthesized_expression "(uVar14 < uVar21)" ( (binary_expression "uVar14 < uVar21" identifier < identifier) )) (goto_statement "goto LAB_0019ff72;" goto statement_identifier ;)) })) })) (break_statement "break;" break ;)) (case_statement "case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69a,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x28))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x28))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x28)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x28)" * (cast_expression "(code **)(*(long *)*local_88 + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x28)" ( (binary_expression "*(long *)*local_88 + 0x28" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69c,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "plVar4 = *(long **)(lVar13 + 0x40);" (assignment_expression "plVar4 = *(long **)(lVar13 + 0x40)" identifier = (pointer_expression "*(long **)(lVar13 + 0x40)" * (cast_expression "(long **)(lVar13 + 0x40)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x40)" ( (binary_expression "lVar13 + 0x40" identifier + number_literal) ))))) ;) (expression_statement "lVar15 = (**(code **)(*plVar4 + 0x20))();" (assignment_expression "lVar15 = (**(code **)(*plVar4 + 0x20))()" identifier = (call_expression "(**(code **)(*plVar4 + 0x20))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x20))" ( (pointer_expression "**(code **)(*plVar4 + 0x20)" * (pointer_expression "*(code **)(*plVar4 + 0x20)" * (cast_expression "(code **)(*plVar4 + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x20)" ( (binary_expression "*plVar4 + 0x20" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x69f,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();" (assignment_expression "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))()" identifier = (cast_expression "(long *)(**(code **)(*plVar4 + 0xe8))()" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*plVar4 + 0xe8))()" (parenthesized_expression "(**(code **)(*plVar4 + 0xe8))" ( (pointer_expression "**(code **)(*plVar4 + 0xe8)" * (pointer_expression "*(code **)(*plVar4 + 0xe8)" * (cast_expression "(code **)(*plVar4 + 0xe8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xe8)" ( (binary_expression "*plVar4 + 0xe8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" if (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38))" ( (binary_expression "*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)" (pointer_expression "*(ulong *)(param_4 + 0x50)" * (cast_expression "(ulong *)(param_4 + 0x50)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x50)" ( (binary_expression "param_4 + 0x50" identifier + number_literal) )))) < (pointer_expression "*(ulong *)(lVar13 + 0x38)" * (cast_expression "(ulong *)(lVar13 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" { (labeled_statement "LAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key")" identifier (argument_list "("../../gold/stringpool.h",0x108,"get_offset_from_key")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""get_offset_from_key"" " string_content ") ))) ;)) })) (expression_statement "uVar21 = *(ulong *)(lVar13 + 0x38) - 1;" (assignment_expression "uVar21 = *(ulong *)(lVar13 + 0x38) - 1" identifier = (binary_expression "*(ulong *)(lVar13 + 0x38) - 1" (pointer_expression "*(ulong *)(lVar13 + 0x38)" * (cast_expression "(ulong *)(lVar13 + 0x38)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "puVar23 = param_3 + 2;" (assignment_expression "puVar23 = param_3 + 2" identifier = (binary_expression "param_3 + 2" identifier + number_literal)) ;) (expression_statement "lVar13 = plVar16[1];" (assignment_expression "lVar13 = plVar16[1]" identifier = (subscript_expression "plVar16[1]" identifier [ number_literal ])) ;) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" identifier = (binary_expression "(uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8" (pointer_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" * (cast_expression "(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" ( (binary_expression "*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18" (pointer_expression "*(long *)(param_4 + 0x38)" * (cast_expression "(long *)(param_4 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x38)" ( (binary_expression "param_4 + 0x38" identifier + number_literal) )))) + (binary_expression "(uVar21 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 >> 0xd)" ( (binary_expression "uVar21 >> 0xd" identifier >> number_literal) )) * number_literal)) )))) + (binary_expression "(ulong)((uint)uVar21 & 0x1fff) * 8" (call_expression "(ulong)((uint)uVar21 & 0x1fff)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((uint)uVar21 & 0x1fff)" ( (binary_expression "(uint)uVar21 & 0x1fff" (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) * number_literal)) ))))) ;) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "uVar27 = (uint)(lVar13 - lVar19 >> 3);" (assignment_expression "uVar27 = (uint)(lVar13 - lVar19 >> 3)" identifier = (call_expression "(uint)(lVar13 - lVar19 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lVar13 - lVar19 >> 3)" ( (binary_expression "lVar13 - lVar19 >> 3" (binary_expression "lVar13 - lVar19" identifier - identifier) >> number_literal) )))) ;) (if_statement "if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }" { (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" identifier = number_literal) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) (do_statement "do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );" do (compound_statement "{\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      }" { (expression_statement "lVar19 = *(long *)(lVar19 + lVar13);" (assignment_expression "lVar19 = *(long *)(lVar19 + lVar13)" identifier = (pointer_expression "*(long *)(lVar19 + lVar13)" * (cast_expression "(long *)(lVar19 + lVar13)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + lVar13)" ( (binary_expression "lVar19 + lVar13" identifier + identifier) ))))) ;) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" identifier = identifier) ;) (if_statement "if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }" if (parenthesized_expression "(lVar19 != 0)" ( (binary_expression "lVar19 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }" { (if_statement "if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }" if (parenthesized_expression "((*(byte *)(lVar19 + 0x3a) & 0x10) != 0)" ( (binary_expression "(*(byte *)(lVar19 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)(lVar19 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar19 + 0x3a)" * (cast_expression "(byte *)(lVar19 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3a)" ( (binary_expression "lVar19 + 0x3a" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }" { (expression_statement "lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);" (assignment_expression "lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier = (call_expression "FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x40),lVar19)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier )))) ;) })) (expression_statement "uVar10 = *(uint *)(lVar19 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar19 + 0x1c)" identifier = (pointer_expression "*(uint *)(lVar19 + 0x1c)" * (cast_expression "(uint *)(lVar19 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x1c)" ( (binary_expression "lVar19 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (uVar10 == 0) goto LAB_0019fd47;" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0019fd47;" goto statement_identifier ;)) (if_statement "if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }" if (parenthesized_expression "(uVar10 != 0xffffffff)" ( (binary_expression "uVar10 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }" { (if_statement "if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" if (parenthesized_expression "((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2)" ( (binary_expression "(*(byte *)(lVar19 + 0x39) & 3) - 1 < 2" (binary_expression "(*(byte *)(lVar19 + 0x39) & 3) - 1" (parenthesized_expression "(*(byte *)(lVar19 + 0x39) & 3)" ( (binary_expression "*(byte *)(lVar19 + 0x39) & 3" (pointer_expression "*(byte *)(lVar19 + 0x39)" * (cast_expression "(byte *)(lVar19 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x39)" ( (binary_expression "lVar19 + 0x39" identifier + number_literal) )))) & number_literal) )) - number_literal) < number_literal) )) (compound_statement "{\n              uVar10 = uVar10 | 0x80000000;\n            }" { (expression_statement "uVar10 = uVar10 | 0x80000000;" (assignment_expression "uVar10 = uVar10 | 0x80000000" identifier = (binary_expression "uVar10 | 0x80000000" identifier | number_literal)) ;) }) (else_clause "else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" else (compound_statement "{\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" { (if_statement "if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" if (parenthesized_expression "(((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10)))" ( (binary_expression "((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))" (parenthesized_expression "((*(byte *)(lVar19 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)(lVar19 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3a) & 7)" ( (binary_expression "*(byte *)(lVar19 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar19 + 0x3a)" * (cast_expression "(byte *)(lVar19 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3a)" ( (binary_expression "lVar19 + 0x3a" identifier + number_literal) )))) & number_literal) )) == number_literal) )) && (parenthesized_expression "(plVar4 == *(long **)(lVar19 + 0x10))" ( (binary_expression "plVar4 == *(long **)(lVar19 + 0x10)" identifier == (pointer_expression "*(long **)(lVar19 + 0x10)" * (cast_expression "(long **)(lVar19 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar19 + 0x10)" ( (binary_expression "lVar19 + 0x10" identifier + number_literal) ))))) ))) )) (compound_statement "{\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }" { (expression_statement "bVar1 = *(byte *)(lVar19 + 0x3b);" (assignment_expression "bVar1 = *(byte *)(lVar19 + 0x3b)" identifier = (pointer_expression "*(byte *)(lVar19 + 0x3b)" * (cast_expression "(byte *)(lVar19 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3b)" ( (binary_expression "lVar19 + 0x3b" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" if (parenthesized_expression "((bVar1 & 0x20) != 0)" ( (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" { (expression_statement "uVar10 = uVar10 | 0x80000000;" (assignment_expression "uVar10 = uVar10 | 0x80000000" identifier = (binary_expression "uVar10 | 0x80000000" identifier | number_literal)) ;) (if_statement "if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;" if (parenthesized_expression "(*(int *)(lVar19 + 0x18) != 0)" ( (binary_expression "*(int *)(lVar19 + 0x18) != 0" (pointer_expression "*(int *)(lVar19 + 0x18)" * (cast_expression "(int *)(lVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x18)" ( (binary_expression "lVar19 + 0x18" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0019f725;" goto statement_identifier ;)) (labeled_statement "LAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;" statement_identifier : (if_statement "if ((bVar1 & 8) != 0) goto LAB_0019f792;" if (parenthesized_expression "((bVar1 & 8) != 0)" ( (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" ( (binary_expression "bVar1 & 8" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0019f792;" goto statement_identifier ;))) (goto_statement "goto LAB_0019f7ae;" goto statement_identifier ;) })) (expression_statement "cVar8 = FUN_00270fe0();" (assignment_expression "cVar8 = FUN_00270fe0()" identifier = (call_expression "FUN_00270fe0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = 0x80000000;" (assignment_expression "uVar10 = 0x80000000" identifier = number_literal) ;) (if_statement "if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }" if (parenthesized_expression "(cVar8 != '\0')" ( (binary_expression "cVar8 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }" { (expression_statement "bVar1 = *(byte *)(lVar19 + 0x3b);" (assignment_expression "bVar1 = *(byte *)(lVar19 + 0x3b)" identifier = (pointer_expression "*(byte *)(lVar19 + 0x3b)" * (cast_expression "(byte *)(lVar19 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3b)" ( (binary_expression "lVar19 + 0x3b" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0019ff09;" goto statement_identifier ;) })) }) (else_clause "else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" else (compound_statement "{\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" { (if_statement "if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;" if (parenthesized_expression "((*(byte *)(lVar19 + 0x3b) & 8) == 0)" ( (binary_expression "(*(byte *)(lVar19 + 0x3b) & 8) == 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3b) & 8)" ( (binary_expression "*(byte *)(lVar19 + 0x3b) & 8" (pointer_expression "*(byte *)(lVar19 + 0x3b)" * (cast_expression "(byte *)(lVar19 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x3b)" ( (binary_expression "lVar19 + 0x3b" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0019f725;" goto statement_identifier ;)) (labeled_statement "LAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);" statement_identifier : (expression_statement "lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);" (assignment_expression "lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier = (call_expression "FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x40),lVar19)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) , identifier )))) ;)) (if_statement "if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" if (parenthesized_expression "(lVar17 == lVar15)" ( (binary_expression "lVar17 == lVar15" identifier == identifier) )) (compound_statement "{\n                  uVar10 = 0xc0000000;\n                }" { (expression_statement "uVar10 = 0xc0000000;" (assignment_expression "uVar10 = 0xc0000000" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" else (compound_statement "{\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" { (labeled_statement "LAB_0019f7ae:\n                  uVar10 = 0;" statement_identifier : (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;)) }))) }))) (if_statement "if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;" if (parenthesized_expression "(*(uint *)(lVar19 + 0x1c) == 0)" ( (binary_expression "*(uint *)(lVar19 + 0x1c) == 0" (pointer_expression "*(uint *)(lVar19 + 0x1c)" * (cast_expression "(uint *)(lVar19 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x1c)" ( (binary_expression "lVar19 + 0x1c" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_0019fd47;" goto statement_identifier ;)) (expression_statement "uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;" (assignment_expression "uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10" identifier = (binary_expression "*(uint *)(lVar19 + 0x1c) | uVar10" (pointer_expression "*(uint *)(lVar19 + 0x1c)" * (cast_expression "(uint *)(lVar19 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar19 + 0x1c)" ( (binary_expression "lVar19 + 0x1c" identifier + number_literal) )))) | identifier)) ;) }))) (labeled_statement "LAB_0019f725:\n            puVar23 = puVar18 + 1;" statement_identifier : (expression_statement "puVar23 = puVar18 + 1;" (assignment_expression "puVar23 = puVar18 + 1" identifier = (binary_expression "puVar18 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;" (assignment_expression "*puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18" (pointer_expression "*puVar18" * identifier) = (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" ( (binary_expression "uVar10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" ( (binary_expression "uVar10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar10 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" identifier = (binary_expression "uVar25 + 1" identifier + number_literal)) ;) })) })) (if_statement "if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;" if (parenthesized_expression "((ulong)(uVar27 - 1) * 8 - lVar13 == 0)" ( (binary_expression "(ulong)(uVar27 - 1) * 8 - lVar13 == 0" (binary_expression "(ulong)(uVar27 - 1) * 8 - lVar13" (binary_expression "(ulong)(uVar27 - 1) * 8" (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar27 - 1)" ( (binary_expression "uVar27 - 1" identifier - number_literal) ))) * number_literal) - identifier) == number_literal) )) (goto_statement "goto LAB_0019fe30;" goto statement_identifier ;)) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" identifier = (pointer_expression "*plVar16" * identifier)) ;) (expression_statement "lVar13 = lVar13 + 8;" (assignment_expression "lVar13 = lVar13 + 8" identifier = (binary_expression "lVar13 + 8" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_0019fe3e;" goto statement_identifier ;)) (case_statement "case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" case number_literal : (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" if (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" ( (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" ( (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier)) )) [ number_literal ])) != (binary_expression "iVar12 - iVar7" identifier - identifier)) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x5ff,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x18))()" identifier = (call_expression "(**(code **)(*(long *)*local_88 + 0x18))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x18))" ( (pointer_expression "**(code **)(*(long *)*local_88 + 0x18)" * (pointer_expression "*(code **)(*(long *)*local_88 + 0x18)" * (cast_expression "(code **)(*(long *)*local_88 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)*local_88 + 0x18)" ( (binary_expression "*(long *)*local_88 + 0x18" (pointer_expression "*(long *)*local_88" * (cast_expression "(long *)*local_88" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_88" * identifier))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" { (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks")" identifier (argument_list "("../../gold/incremental.cc",0x601,"write_info_blocks")" ( (string_literal ""../../gold/incremental.cc"" " string_content ") , number_literal , (string_literal ""write_info_blocks"" " string_content ") ))) ;) })) (expression_statement "lVar15 = *(long *)(lVar13 + 0x38);" (assignment_expression "lVar15 = *(long *)(lVar13 + 0x38)" identifier = (pointer_expression "*(long *)(lVar13 + 0x38)" * (cast_expression "(long *)(lVar13 + 0x38)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x38)" ( (binary_expression "lVar13 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "puVar23 = param_3 + 1;" (assignment_expression "puVar23 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) (expression_statement "uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;" (assignment_expression "uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3" identifier = (binary_expression "*(long *)(lVar13 + 0x40) - lVar15 >> 3" (binary_expression "*(long *)(lVar13 + 0x40) - lVar15" (pointer_expression "*(long *)(lVar13 + 0x40)" * (cast_expression "(long *)(lVar13 + 0x40)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x40)" ( (binary_expression "lVar13 + 0x40" identifier + number_literal) )))) - identifier) >> number_literal)) ;) (expression_statement "uVar27 = (uint)uVar21;" (assignment_expression "uVar27 = (uint)uVar21" identifier = (cast_expression "(uint)uVar21" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" * identifier) = (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" ( (binary_expression "uVar27 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" ( (binary_expression "uVar27 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar27 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" identifier = identifier) ;) (if_statement "if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" if (parenthesized_expression "(uVar27 != 0)" ( (binary_expression "uVar27 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" { (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" { (expression_statement "uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);" (assignment_expression "uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" identifier = (pointer_expression "*(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" * (cast_expression "(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(lVar15 + uVar14 * 8) + 0x14)" ( (binary_expression "*(long *)(lVar15 + uVar14 * 8) + 0x14" (pointer_expression "*(long *)(lVar15 + uVar14 * 8)" * (cast_expression "(long *)(lVar15 + uVar14 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + uVar14 * 8)" ( (binary_expression "lVar15 + uVar14 * 8" identifier + (binary_expression "uVar14 * 8" identifier * number_literal)) )))) + number_literal) ))))) ;) (expression_statement "*puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;" (assignment_expression "*puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18" (pointer_expression "*puVar23" * identifier) = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;) (expression_statement "param_3 = puVar23 + 1;" (assignment_expression "param_3 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (if_statement "if (uVar27 - 1 == uVar14) break;" if (parenthesized_expression "(uVar27 - 1 == uVar14)" ( (binary_expression "uVar27 - 1 == uVar14" (binary_expression "uVar27 - 1" identifier - number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" identifier = (binary_expression "uVar14 + 1" identifier + number_literal)) ;) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" identifier = (binary_expression "puVar23 + 1" identifier + number_literal)) ;) (if_statement "if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }" if (parenthesized_expression "(uVar21 == uVar14)" ( (binary_expression "uVar21 == uVar14" identifier == identifier) )) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }" { (expression_statement "FUN_0017c650("../../gold/incremental.h",0x149,"get_object");" (call_expression "FUN_0017c650("../../gold/incremental.h",0x149,"get_object")" identifier (argument_list "("../../gold/incremental.h",0x149,"get_object")" ( (string_literal ""../../gold/incremental.h"" " string_content ") , number_literal , (string_literal ""get_object"" " string_content ") ))) ;) })) })) }))) })) (goto_statement "goto LAB_0019f5f4;" goto statement_identifier ;) (labeled_statement "LAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;" statement_identifier : (expression_statement "uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;" (assignment_expression "uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" identifier = (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" ( (binary_expression "uVar25 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" ( (binary_expression "uVar25 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar25 << 0x18" identifier << number_literal))) ;)) (labeled_statement "LAB_0019fe3e:\n  param_3[1] = uVar27;" statement_identifier : (expression_statement "param_3[1] = uVar27;" (assignment_expression "param_3[1] = uVar27" (subscript_expression "param_3[1]" identifier [ number_literal ]) = identifier) ;)) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" identifier = identifier) ;) (labeled_statement "LAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" statement_identifier : (if_statement "if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" if (parenthesized_expression "(((long)param_3 - param_2 & 4U) != 0)" ( (binary_expression "((long)param_3 - param_2 & 4U) != 0" (parenthesized_expression "((long)param_3 - param_2 & 4U)" ( (binary_expression "(long)param_3 - param_2 & 4U" (binary_expression "(long)param_3 - param_2" (cast_expression "(long)param_3" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" { (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) }))) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (if_statement "if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }" if (parenthesized_expression "((long *)plVar3[1] == local_88)" ( (binary_expression "(long *)plVar3[1] == local_88" (cast_expression "(long *)plVar3[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar3[1]" identifier [ number_literal ])) == identifier) )) (compound_statement "{\n    return param_3;\n  }" { (return_statement "return param_3;" return identifier ;) })) (goto_statement "goto LAB_0019f550;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) 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 TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) != (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_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 (subscript_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 (pointer_expression * 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 IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_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 (subscript_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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_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 (subscript_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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (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)) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) >> LIT) )) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) & LIT) ))) * LIT)) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ))) ))))) ;) (expression_statement (assignment_expression 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 IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;)) (goto_statement goto statement_identifier ;) })))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) & LIT) ^ LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - IDENT)) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (binary_expression IDENT & LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression 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 IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ;) (expression_statement (assignment_expression 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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (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) )))) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) >> LIT) )) * LIT)) )))) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) & LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) != (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) >> LIT) )))) ;) (expression_statement (assignment_expression (subscript_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))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression 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 )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) >> LIT) )) * LIT)) )))) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) & LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * 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))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) })) })) (break_statement break ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) != (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( )))) ;) (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 = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (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) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) )))) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = (pointer_expression * IDENT)) ;) (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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) | IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = (binary_expression IDENT + LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) * LIT) - IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) != (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) + LIT) ))))) )) (argument_list ( )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (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 IDENT + (binary_expression IDENT * LIT)) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * 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 IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) })) }))) })) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression 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))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == IDENT) )) (compound_statement { (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })))
(function_definition "uint * FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)\n\n{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}" (type_identifier "uint") (pointer_declarator "* FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" (* "*") (function_declarator "FUN_0019f4f0(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" (identifier "FUN_0019f4f0") (parameter_list "(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "uint *param_3" (type_identifier "uint") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) (, ",") (parameter_declaration "long param_5" (sized_type_specifier "long" (long "long")) (identifier "param_5")) (, ",") (parameter_declaration "uint param_6" (type_identifier "uint") (identifier "param_6")) () ")")))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  long *plVar3;\n  long *plVar4;\n  code *pcVar5;\n  long lVar6;\n  int iVar7;\n  char cVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  uint uVar11;\n  int iVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  long *plVar16;\n  long lVar17;\n  void *__s;\n  uint *puVar18;\n  long lVar19;\n  long *plVar20;\n  ulong uVar21;\n  ulong *puVar22;\n  uint *puVar23;\n  uint uVar24;\n  uint uVar25;\n  uint uVar26;\n  uint uVar27;\n  bool bVar28;\n  long *local_88;\n  uint local_68;\n  \n  plVar3 = *(long **)(param_1 + 0x38);\n  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);\n  local_88 = (long *)*plVar3;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\nLAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();\n  iVar12 = (int)param_3;\n  iVar7 = (int)param_2;\n  switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }\n  goto LAB_0019f5f4;\nLAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;\nLAB_0019fe3e:\n  param_3[1] = uVar27;\n  param_3 = puVar23;\nLAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }\n  local_88 = local_88 + 1;\n  if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }\n  goto LAB_0019f550;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "long *plVar4;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar4" (* "*") (identifier "plVar4")) (; ";")) (declaration "code *pcVar5;" (type_identifier "code") (pointer_declarator "*pcVar5" (* "*") (identifier "pcVar5")) (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "char cVar8;" (primitive_type "char") (identifier "cVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "ulong uVar14;" (type_identifier "ulong") (identifier "uVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "long *plVar16;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar16" (* "*") (identifier "plVar16")) (; ";")) (declaration "long lVar17;" (sized_type_specifier "long" (long "long")) (identifier "lVar17") (; ";")) (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "uint *puVar18;" (type_identifier "uint") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "long lVar19;" (sized_type_specifier "long" (long "long")) (identifier "lVar19") (; ";")) (declaration "long *plVar20;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar20" (* "*") (identifier "plVar20")) (; ";")) (declaration "ulong uVar21;" (type_identifier "ulong") (identifier "uVar21") (; ";")) (declaration "ulong *puVar22;" (type_identifier "ulong") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "uint *puVar23;" (type_identifier "uint") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "uint uVar25;" (type_identifier "uint") (identifier "uVar25") (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "uint uVar27;" (type_identifier "uint") (identifier "uVar27") (; ";")) (declaration "bool bVar28;" (primitive_type "bool") (identifier "bVar28") (; ";")) (declaration "long *local_88;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (expression_statement "plVar3 = *(long **)(param_1 + 0x38);" (assignment_expression "plVar3 = *(long **)(param_1 + 0x38)" (identifier "plVar3") (= "=") (pointer_expression "*(long **)(param_1 + 0x38)" (* "*") (cast_expression "(long **)(param_1 + 0x38)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x38)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);" (assignment_expression "iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(*(long *)(param_1 + 0x40) + 8)" (* "*") (cast_expression "(int *)(*(long *)(param_1 + 0x40) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x40) + 8)" (( "(") (binary_expression "*(long *)(param_1 + 0x40) + 8" (pointer_expression "*(long *)(param_1 + 0x40)" (* "*") (cast_expression "(long *)(param_1 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "local_88 = (long *)*plVar3;" (assignment_expression "local_88 = (long *)*plVar3" (identifier "local_88") (= "=") (cast_expression "(long *)*plVar3" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar3" (* "*") (identifier "plVar3")))) (; ";")) (if_statement "if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }" (if "if") (parenthesized_expression "((long *)plVar3[1] == local_88)" (( "(") (binary_expression "(long *)plVar3[1] == local_88" (cast_expression "(long *)plVar3[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar3[1]" (identifier "plVar3") ([ "[") (number_literal "1") (] "]"))) (== "==") (identifier "local_88")) () ")")) (compound_statement "{\n    return param_3;\n  }" ({ "{") (return_statement "return param_3;" (return "return") (identifier "param_3") (; ";")) (} "}"))) (labeled_statement "LAB_0019f550:\n  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();" (statement_identifier "LAB_0019f550") (: ":") (expression_statement "uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();" (assignment_expression "uVar9 = (**(code **)(*(long *)*local_88 + 0x10))()" (identifier "uVar9") (= "=") (call_expression "(**(code **)(*(long *)*local_88 + 0x10))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x10))" (( "(") (pointer_expression "**(code **)(*(long *)*local_88 + 0x10)" (* "*") (pointer_expression "*(code **)(*(long *)*local_88 + 0x10)" (* "*") (cast_expression "(code **)(*(long *)*local_88 + 0x10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*local_88 + 0x10)" (( "(") (binary_expression "*(long *)*local_88 + 0x10" (pointer_expression "*(long *)*local_88" (* "*") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88")))) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "iVar12 = (int)param_3;" (assignment_expression "iVar12 = (int)param_3" (identifier "iVar12") (= "=") (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3"))) (; ";")) (expression_statement "iVar7 = (int)param_2;" (assignment_expression "iVar7 = (int)param_2" (identifier "iVar7") (= "=") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) (; ";")) (switch_statement "switch(uVar9) {\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" (switch "switch") (parenthesized_expression "(uVar9)" (( "(") (identifier "uVar9") () ")")) (compound_statement "{\n  default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");\n  case 1:\n  case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;\n  case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;\n  case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;\n  case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }\n  }" ({ "{") (case_statement "default:\n                    \n    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");" (default "default") (: ":") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x6f2,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x6f2") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";"))) (case_statement "case 1:" (case "case") (number_literal "1") (: ":")) (case_statement "case 2:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x38);\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);\n    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);\n    uVar27 = iVar12 * -0x55555555;\n    lVar15 = plVar16[1];\n    lVar19 = *plVar16;\n    pcVar5 = *(code **)(*plVar4 + 0x128);\n    if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }\n    pcVar5 = *(code **)(*plVar4 + 0x120);\n    if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }\n    uVar11 = *(uint *)(plVar4 + 0x14);\n    uVar24 = *(uint *)((long)plVar4 + 0xa4);\n    uVar26 = 0;\n    lVar17 = *(long *)(lVar13 + 0x68);\n    lVar6 = *(long *)(lVar13 + 0x60);\n    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;\n    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;\n    local_68 = (uint)(lVar15 - lVar19 >> 3);\n    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;\n    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    uVar25 = (uint)(lVar17 - lVar6 >> 3);\n    puVar23 = param_3 + 8;\n    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;\n    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    param_3[7] = 0;\n    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);\n    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);\n    puVar18 = puVar23;\n    if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }\n    if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }\n    if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }\n    break;" (case "case") (number_literal "2") (: ":") (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" (( "(") (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" (( "(") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88"))) () ")")) ([ "[") (number_literal "3") (] "]"))) (!= "!=") (binary_expression "iVar12 - iVar7" (identifier "iVar12") (- "-") (identifier "iVar7"))) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x616,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x616") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x20))()" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*(long *)*local_88 + 0x20))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x20))" (( "(") (pointer_expression "**(code **)(*(long *)*local_88 + 0x20)" (* "*") (pointer_expression "*(code **)(*(long *)*local_88 + 0x20)" (* "*") (cast_expression "(code **)(*(long *)*local_88 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*local_88 + 0x20)" (( "(") (binary_expression "*(long *)*local_88 + 0x20" (pointer_expression "*(long *)*local_88" (* "*") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88")))) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x618,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x618") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar4 = *(long **)(lVar13 + 0x38);" (assignment_expression "plVar4 = *(long **)(lVar13 + 0x38)" (identifier "plVar4") (= "=") (pointer_expression "*(long **)(lVar13 + 0x38)" (* "*") (cast_expression "(long **)(lVar13 + 0x38)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);" (assignment_expression "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4)" (identifier "plVar16") (= "=") (cast_expression "(long *)(**(code **)(*plVar4 + 0xe8))(plVar4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar4 + 0xe8))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0xe8)" (* "*") (cast_expression "(code **)(*plVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xe8)" (( "(") (binary_expression "*plVar4 + 0xe8" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")"))))) (; ";")) (expression_statement "iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);" (assignment_expression "iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" (identifier "iVar12") (= "=") (cast_expression "(int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3)" (( "(") (binary_expression "*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3" (binary_expression "*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48)" (pointer_expression "*(long *)(lVar13 + 0x50)" (* "*") (cast_expression "(long *)(lVar13 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x50)" (( "(") (binary_expression "lVar13 + 0x50" (identifier "lVar13") (+ "+") (number_literal "0x50")) () ")")))) (- "-") (pointer_expression "*(long *)(lVar13 + 0x48)" (* "*") (cast_expression "(long *)(lVar13 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x48)" (( "(") (binary_expression "lVar13 + 0x48" (identifier "lVar13") (+ "+") (number_literal "0x48")) () ")"))))) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (expression_statement "uVar27 = iVar12 * -0x55555555;" (assignment_expression "uVar27 = iVar12 * -0x55555555" (identifier "uVar27") (= "=") (binary_expression "iVar12 * -0x55555555" (identifier "iVar12") (* "*") (number_literal "-0x55555555"))) (; ";")) (expression_statement "lVar15 = plVar16[1];" (assignment_expression "lVar15 = plVar16[1]" (identifier "lVar15") (= "=") (subscript_expression "plVar16[1]" (identifier "plVar16") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" (identifier "lVar19") (= "=") (pointer_expression "*plVar16" (* "*") (identifier "plVar16"))) (; ";")) (expression_statement "pcVar5 = *(code **)(*plVar4 + 0x128);" (assignment_expression "pcVar5 = *(code **)(*plVar4 + 0x128)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(*plVar4 + 0x128)" (* "*") (cast_expression "(code **)(*plVar4 + 0x128)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x128)" (( "(") (binary_expression "*plVar4 + 0x128" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x128")) () ")"))))) (; ";")) (if_statement "if (pcVar5 == FUN_001550d0) {\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }\n    else {\n      uVar25 = (*pcVar5)(plVar4);\n    }" (if "if") (parenthesized_expression "(pcVar5 == FUN_001550d0)" (( "(") (binary_expression "pcVar5 == FUN_001550d0" (identifier "pcVar5") (== "==") (identifier "FUN_001550d0")) () ")")) (compound_statement "{\n      uVar25 = (**(code **)(*plVar4 + 0x188))();\n    }" ({ "{") (expression_statement "uVar25 = (**(code **)(*plVar4 + 0x188))();" (assignment_expression "uVar25 = (**(code **)(*plVar4 + 0x188))()" (identifier "uVar25") (= "=") (call_expression "(**(code **)(*plVar4 + 0x188))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x188))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x188)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x188)" (* "*") (cast_expression "(code **)(*plVar4 + 0x188)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x188)" (( "(") (binary_expression "*plVar4 + 0x188" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x188")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar25 = (*pcVar5)(plVar4);\n    }" (else "else") (compound_statement "{\n      uVar25 = (*pcVar5)(plVar4);\n    }" ({ "{") (expression_statement "uVar25 = (*pcVar5)(plVar4);" (assignment_expression "uVar25 = (*pcVar5)(plVar4)" (identifier "uVar25") (= "=") (call_expression "(*pcVar5)(plVar4)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")")))) (; ";")) (} "}")))) (expression_statement "pcVar5 = *(code **)(*plVar4 + 0x120);" (assignment_expression "pcVar5 = *(code **)(*plVar4 + 0x120)" (identifier "pcVar5") (= "=") (pointer_expression "*(code **)(*plVar4 + 0x120)" (* "*") (cast_expression "(code **)(*plVar4 + 0x120)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x120)" (( "(") (binary_expression "*plVar4 + 0x120" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x120")) () ")"))))) (; ";")) (if_statement "if (pcVar5 == FUN_001550c0) {\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }\n    else {\n      uVar10 = (*pcVar5)(plVar4);\n    }" (if "if") (parenthesized_expression "(pcVar5 == FUN_001550c0)" (( "(") (binary_expression "pcVar5 == FUN_001550c0" (identifier "pcVar5") (== "==") (identifier "FUN_001550c0")) () ")")) (compound_statement "{\n      uVar10 = (**(code **)(*plVar4 + 0x180))();\n    }" ({ "{") (expression_statement "uVar10 = (**(code **)(*plVar4 + 0x180))();" (assignment_expression "uVar10 = (**(code **)(*plVar4 + 0x180))()" (identifier "uVar10") (= "=") (call_expression "(**(code **)(*plVar4 + 0x180))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x180))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x180)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x180)" (* "*") (cast_expression "(code **)(*plVar4 + 0x180)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x180)" (( "(") (binary_expression "*plVar4 + 0x180" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x180")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar10 = (*pcVar5)(plVar4);\n    }" (else "else") (compound_statement "{\n      uVar10 = (*pcVar5)(plVar4);\n    }" ({ "{") (expression_statement "uVar10 = (*pcVar5)(plVar4);" (assignment_expression "uVar10 = (*pcVar5)(plVar4)" (identifier "uVar10") (= "=") (call_expression "(*pcVar5)(plVar4)" (parenthesized_expression "(*pcVar5)" (( "(") (pointer_expression "*pcVar5" (* "*") (identifier "pcVar5")) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar11 = *(uint *)(plVar4 + 0x14);" (assignment_expression "uVar11 = *(uint *)(plVar4 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(plVar4 + 0x14)" (* "*") (cast_expression "(uint *)(plVar4 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar4 + 0x14)" (( "(") (binary_expression "plVar4 + 0x14" (identifier "plVar4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar24 = *(uint *)((long)plVar4 + 0xa4);" (assignment_expression "uVar24 = *(uint *)((long)plVar4 + 0xa4)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)((long)plVar4 + 0xa4)" (* "*") (cast_expression "(uint *)((long)plVar4 + 0xa4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar4 + 0xa4)" (( "(") (binary_expression "(long)plVar4 + 0xa4" (cast_expression "(long)plVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar4")) (+ "+") (number_literal "0xa4")) () ")"))))) (; ";")) (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar17 = *(long *)(lVar13 + 0x68);" (assignment_expression "lVar17 = *(long *)(lVar13 + 0x68)" (identifier "lVar17") (= "=") (pointer_expression "*(long *)(lVar13 + 0x68)" (* "*") (cast_expression "(long *)(lVar13 + 0x68)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x68)" (( "(") (binary_expression "lVar13 + 0x68" (identifier "lVar13") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "lVar6 = *(long *)(lVar13 + 0x60);" (assignment_expression "lVar6 = *(long *)(lVar13 + 0x60)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(lVar13 + 0x60)" (* "*") (cast_expression "(long *)(lVar13 + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x60)" (( "(") (binary_expression "lVar13 + 0x60" (identifier "lVar13") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18\n    ;" (assignment_expression "param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar10 << 0x18" (identifier "uVar10") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18\n    ;" (assignment_expression "param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (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 "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n               iVar12 * -0x55000000" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "iVar12 * -0x55000000" (identifier "iVar12") (* "*") (number_literal "-0x55000000")))) (; ";")) (expression_statement "local_68 = (uint)(lVar15 - lVar19 >> 3);" (assignment_expression "local_68 = (uint)(lVar15 - lVar19 >> 3)" (identifier "local_68") (= "=") (call_expression "(uint)(lVar15 - lVar19 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar15 - lVar19 >> 3)" (( "(") (binary_expression "lVar15 - lVar19 >> 3" (binary_expression "lVar15 - lVar19" (identifier "lVar15") (- "-") (identifier "lVar19")) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (expression_statement "param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18\n    ;" (assignment_expression "param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")) (= "=") (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" (identifier "uVar24") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" (( "(") (binary_expression "uVar24 & 0xff0000" (identifier "uVar24") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" (( "(") (binary_expression "uVar24 & 0xff00" (identifier "uVar24") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar24 << 0x18" (identifier "uVar24") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" (identifier "uVar25") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" (( "(") (binary_expression "uVar25 & 0xff0000" (identifier "uVar25") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" (( "(") (binary_expression "uVar25 & 0xff00" (identifier "uVar25") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar25 << 0x18" (identifier "uVar25") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar25 = (uint)(lVar17 - lVar6 >> 3);" (assignment_expression "uVar25 = (uint)(lVar17 - lVar6 >> 3)" (identifier "uVar25") (= "=") (call_expression "(uint)(lVar17 - lVar6 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar17 - lVar6 >> 3)" (( "(") (binary_expression "lVar17 - lVar6 >> 3" (binary_expression "lVar17 - lVar6" (identifier "lVar17") (- "-") (identifier "lVar6")) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (expression_statement "puVar23 = param_3 + 8;" (assignment_expression "puVar23 = param_3 + 8" (identifier "puVar23") (= "=") (binary_expression "param_3 + 8" (identifier "param_3") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18;" (assignment_expression "param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |\n                 local_68 << 0x18" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8" (binary_expression "local_68 >> 0x18 | (local_68 & 0xff0000) >> 8" (binary_expression "local_68 >> 0x18" (identifier "local_68") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(local_68 & 0xff0000) >> 8" (parenthesized_expression "(local_68 & 0xff0000)" (( "(") (binary_expression "local_68 & 0xff0000" (identifier "local_68") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(local_68 & 0xff00) << 8" (parenthesized_expression "(local_68 & 0xff00)" (( "(") (binary_expression "local_68 & 0xff00" (identifier "local_68") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "local_68 << 0x18" (identifier "local_68") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[6]" (identifier "param_3") ([ "[") (number_literal "6") (] "]")) (= "=") (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" (identifier "uVar25") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" (( "(") (binary_expression "uVar25 & 0xff0000" (identifier "uVar25") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" (( "(") (binary_expression "uVar25 & 0xff00" (identifier "uVar25") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar25 << 0x18" (identifier "uVar25") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_3[7] = 0;" (assignment_expression "param_3[7] = 0" (subscript_expression "param_3[7]" (identifier "param_3") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "__s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);" (assignment_expression "__s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" (identifier "__s") (= "=") (cast_expression "(void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2)" (identifier "thunk_FUN_002d9490") (argument_list "((ulong)*(uint *)(plVar4 + 7) << 2)" (( "(") (binary_expression "(ulong)*(uint *)(plVar4 + 7) << 2" (binary_expression "(ulong)*(uint *)(plVar4 + 7)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar4 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar4 + 7)" (( "(") (binary_expression "plVar4 + 7" (identifier "plVar4") (+ "+") (number_literal "7")) () ")")))) (<< "<<") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);" (call_expression "memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2)" (identifier "memset") (argument_list "(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (binary_expression "(ulong)*(uint *)(plVar4 + 7) << 2" (binary_expression "(ulong)*(uint *)(plVar4 + 7)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar4 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar4 + 7)" (( "(") (binary_expression "plVar4 + 7" (identifier "plVar4") (+ "+") (number_literal "7")) () ")")))) (<< "<<") (number_literal "2")) () ")"))) (; ";")) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" (identifier "puVar18") (= "=") (identifier "puVar23")) (; ";")) (if_statement "if (uVar27 != 0) {\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);\n    }" ({ "{") (do_statement "do {\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      } while (uVar26 != uVar27);" (do "do") (compound_statement "{\n        uVar26 = uVar26 + 1;\n        uVar11 = 0;\n        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));\n        uVar10 = *puVar18;\n        uVar14 = (ulong)uVar10;\n        uVar21 = *(ulong *)(puVar18 + 2);\n        *(uint *)((long)__s + uVar14 * 4) = uVar26;\n        if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }\n        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }\n        if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }\n        puVar23[1] = uVar10;\n        puVar18 = puVar23 + 6;\n        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;\n        *(ulong *)(puVar23 + 2) = uVar21;\n        *(ulong *)(puVar23 + 4) = uVar14;\n        puVar23 = puVar18;\n      }" ({ "{") (expression_statement "uVar26 = uVar26 + 1;" (assignment_expression "uVar26 = uVar26 + 1" (identifier "uVar26") (= "=") (binary_expression "uVar26 + 1" (identifier "uVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));" (assignment_expression "puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" (identifier "puVar18") (= "=") (cast_expression "(uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3))" (( "(") (binary_expression "(long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3)" (binary_expression "(long)puVar23 + *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (pointer_expression "*(long *)(lVar13 + 0x48)" (* "*") (cast_expression "(long *)(lVar13 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x48)" (( "(") (binary_expression "lVar13 + 0x48" (identifier "lVar13") (+ "+") (number_literal "0x48")) () ")"))))) (+ "+") (parenthesized_expression "(-0x20 - (long)param_3)" (( "(") (binary_expression "-0x20 - (long)param_3" (number_literal "-0x20") (- "-") (cast_expression "(long)param_3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_3"))) () ")"))) () ")")))) (; ";")) (expression_statement "uVar10 = *puVar18;" (assignment_expression "uVar10 = *puVar18" (identifier "uVar10") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (expression_statement "uVar14 = (ulong)uVar10;" (assignment_expression "uVar14 = (ulong)uVar10" (identifier "uVar14") (= "=") (cast_expression "(ulong)uVar10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "uVar21 = *(ulong *)(puVar18 + 2);" (assignment_expression "uVar21 = *(ulong *)(puVar18 + 2)" (identifier "uVar21") (= "=") (pointer_expression "*(ulong *)(puVar18 + 2)" (* "*") (cast_expression "(ulong *)(puVar18 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + 2)" (( "(") (binary_expression "puVar18 + 2" (identifier "puVar18") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "*(uint *)((long)__s + uVar14 * 4) = uVar26;" (assignment_expression "*(uint *)((long)__s + uVar14 * 4) = uVar26" (pointer_expression "*(uint *)((long)__s + uVar14 * 4)" (* "*") (cast_expression "(uint *)((long)__s + uVar14 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__s + uVar14 * 4)" (( "(") (binary_expression "(long)__s + uVar14 * 4" (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s")) (+ "+") (binary_expression "uVar14 * 4" (identifier "uVar14") (* "*") (number_literal "4"))) () ")")))) (= "=") (identifier "uVar26")) (; ";")) (if_statement "if (uVar21 != 0) {\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }" (if "if") (parenthesized_expression "(uVar21 != 0)" (( "(") (binary_expression "uVar21 != 0" (identifier "uVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n          uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        }" ({ "{") (if_statement "if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;" (if "if") (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < uVar21)" (( "(") (binary_expression "*(ulong *)(param_4 + 0x50) < uVar21" (pointer_expression "*(ulong *)(param_4 + 0x50)" (* "*") (cast_expression "(ulong *)(param_4 + 0x50)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x50)" (( "(") (binary_expression "param_4 + 0x50" (identifier "param_4") (+ "+") (number_literal "0x50")) () ")")))) (< "<") (identifier "uVar21")) () ")")) (goto_statement "goto LAB_0019ff72;" (goto "goto") (statement_identifier "LAB_0019ff72") (; ";"))) (expression_statement "uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar11 = (uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (identifier "uVar11") (= "=") (binary_expression "(uint)*(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)\n                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (( "(") (binary_expression "*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +\n                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" (* "*") (cast_expression "(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38))" (( "(") (binary_expression "(uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)" (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" (( "(") (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" (identifier "uVar21") (- "-") (number_literal "1")) (>> ">>") (number_literal "0xd")) () ")")) (* "*") (number_literal "0x18")) (+ "+") (pointer_expression "*(long *)(param_4 + 0x38)" (* "*") (cast_expression "(long *)(param_4 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x38)" (( "(") (binary_expression "param_4 + 0x38" (identifier "param_4") (+ "+") (number_literal "0x38")) () ")"))))) () ")")))) (+ "+") (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" (( "(") (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar21 - 1)" (( "(") (binary_expression "uVar21 - 1" (identifier "uVar21") (- "-") (number_literal "1")) () ")"))) (& "&") (number_literal "0x1fff")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }\n        else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" (if "if") (parenthesized_expression "(*(code **)(*plVar4 + 0xc0) == FUN_00156120)" (( "(") (binary_expression "*(code **)(*plVar4 + 0xc0) == FUN_00156120" (pointer_expression "*(code **)(*plVar4 + 0xc0)" (* "*") (cast_expression "(code **)(*plVar4 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xc0)" (( "(") (binary_expression "*plVar4 + 0xc0" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xc0")) () ")")))) (== "==") (identifier "FUN_00156120")) () ")")) (compound_statement "{\n          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);\n        }" ({ "{") (if_statement "if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }" (if "if") (parenthesized_expression "((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14)" (( "(") (binary_expression "(ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14" (call_expression "(ulong)(plVar4[0xb] - plVar4[10] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(plVar4[0xb] - plVar4[10] >> 3)" (( "(") (binary_expression "plVar4[0xb] - plVar4[10] >> 3" (binary_expression "plVar4[0xb] - plVar4[10]" (subscript_expression "plVar4[0xb]" (identifier "plVar4") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "plVar4[10]" (identifier "plVar4") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar14")) () ")")) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");\n          }" ({ "{") (expression_statement "FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section")" (identifier "FUN_0017c650") (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5c8") (, ",") (string_literal ""do_output_section"" (" """) (string_content "do_output_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar20 = *(long **)(plVar4[10] + uVar14 * 8);" (assignment_expression "plVar20 = *(long **)(plVar4[10] + uVar14 * 8)" (identifier "plVar20") (= "=") (pointer_expression "*(long **)(plVar4[10] + uVar14 * 8)" (* "*") (cast_expression "(long **)(plVar4[10] + uVar14 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(plVar4[10] + uVar14 * 8)" (( "(") (binary_expression "plVar4[10] + uVar14 * 8" (subscript_expression "plVar4[10]" (identifier "plVar4") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "uVar14 * 8" (identifier "uVar14") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" (else "else") (compound_statement "{\n          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);\n        }" ({ "{") (expression_statement "plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);" (assignment_expression "plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4)" (identifier "plVar20") (= "=") (cast_expression "(long *)(**(code **)(*plVar4 + 0xc0))(plVar4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar4 + 0xc0))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0xc0))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0xc0)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0xc0)" (* "*") (cast_expression "(code **)(*plVar4 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xc0)" (( "(") (binary_expression "*plVar4 + 0xc0" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xc0")) () ")"))))) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")"))))) (; ";")) (} "}")))) (if_statement "if (plVar20 == (long *)0x0) {\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }\n        else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" (if "if") (parenthesized_expression "(plVar20 == (long *)0x0)" (( "(") (binary_expression "plVar20 == (long *)0x0" (identifier "plVar20") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar10 = 0;\n          uVar21 = 0;\n          uVar14 = 0;\n        }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" (else "else") (compound_statement "{\n          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }\n          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);\n          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;\n          uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));\n          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;\n          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;\n        }" ({ "{") (if_statement "if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }\n          else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" (if "if") (parenthesized_expression "(*(code **)(*plVar20 + 0x58) == FUN_001869e0)" (( "(") (binary_expression "*(code **)(*plVar20 + 0x58) == FUN_001869e0" (pointer_expression "*(code **)(*plVar20 + 0x58)" (* "*") (cast_expression "(code **)(*plVar20 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar20 + 0x58)" (( "(") (binary_expression "*plVar20 + 0x58" (pointer_expression "*plVar20" (* "*") (identifier "plVar20")) (+ "+") (number_literal "0x58")) () ")")))) (== "==") (identifier "FUN_001869e0")) () ")")) (compound_statement "{\n            uVar24 = *(uint *)((long)plVar20 + 0x7c);\n            if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }\n          }" ({ "{") (expression_statement "uVar24 = *(uint *)((long)plVar20 + 0x7c);" (assignment_expression "uVar24 = *(uint *)((long)plVar20 + 0x7c)" (identifier "uVar24") (= "=") (pointer_expression "*(uint *)((long)plVar20 + 0x7c)" (* "*") (cast_expression "(uint *)((long)plVar20 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar20 + 0x7c)" (( "(") (binary_expression "(long)plVar20 + 0x7c" (cast_expression "(long)plVar20" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar20")) (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (if_statement "if (uVar24 == 0xffffffff) {\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }" (if "if") (parenthesized_expression "(uVar24 == 0xffffffff)" (( "(") (binary_expression "uVar24 == 0xffffffff" (identifier "uVar24") (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n                    \n              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");\n            }" ({ "{") (expression_statement "FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");" (call_expression "FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0x1043,"do_out_shndx")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x1043") (, ",") (string_literal ""do_out_shndx"" (" """) (string_content "do_out_shndx") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" (else "else") (compound_statement "{\n            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);\n          }" ({ "{") (expression_statement "uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);" (assignment_expression "uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20)" (identifier "uVar24") (= "=") (call_expression "(**(code **)(*plVar20 + 0x58))(plVar20)" (parenthesized_expression "(**(code **)(*plVar20 + 0x58))" (( "(") (pointer_expression "**(code **)(*plVar20 + 0x58)" (* "*") (pointer_expression "*(code **)(*plVar20 + 0x58)" (* "*") (cast_expression "(code **)(*plVar20 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar20 + 0x58)" (( "(") (binary_expression "*plVar20 + 0x58" (pointer_expression "*plVar20" (* "*") (identifier "plVar20")) (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(plVar20)" (( "(") (identifier "plVar20") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);" (assignment_expression "uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10)" (identifier "uVar21") (= "=") (call_expression "(**(code **)(*plVar4 + 0xd0))(plVar4,uVar10)" (parenthesized_expression "(**(code **)(*plVar4 + 0xd0))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0xd0)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0xd0)" (* "*") (cast_expression "(code **)(*plVar4 + 0xd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xd0)" (( "(") (binary_expression "*plVar4 + 0xd0" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xd0")) () ")"))))) () ")")) (argument_list "(plVar4,uVar10)" (( "(") (identifier "plVar4") (, ",") (identifier "uVar10") () ")")))) (; ";")) (expression_statement "uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;" (assignment_expression "uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38" (identifier "uVar21") (= "=") (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |\n                   (uVar21 & 0xff00) << 0x28" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |\n                   (uVar21 & 0xff000000) << 8" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |\n                   (uVar21 & 0xff0000000000) >> 0x18" (binary_expression "uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28" (binary_expression "uVar21 >> 0x38" (identifier "uVar21") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar21 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar21 & 0xff000000000000)" (( "(") (binary_expression "uVar21 & 0xff000000000000" (identifier "uVar21") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar21 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar21 & 0xff0000000000)" (( "(") (binary_expression "uVar21 & 0xff0000000000" (identifier "uVar21") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar21 & 0xff00000000) >> 8" (parenthesized_expression "(uVar21 & 0xff00000000)" (( "(") (binary_expression "uVar21 & 0xff00000000" (identifier "uVar21") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar21 & 0xff000000) << 8" (parenthesized_expression "(uVar21 & 0xff000000)" (( "(") (binary_expression "uVar21 & 0xff000000" (identifier "uVar21") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar21 & 0xff0000) << 0x18" (parenthesized_expression "(uVar21 & 0xff0000)" (( "(") (binary_expression "uVar21 & 0xff0000" (identifier "uVar21") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar21 & 0xff00) << 0x28" (parenthesized_expression "(uVar21 & 0xff00)" (( "(") (binary_expression "uVar21 & 0xff00" (identifier "uVar21") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar21 << 0x38" (identifier "uVar21") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));" (assignment_expression "uVar14 = *(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" (identifier "uVar14") (= "=") (pointer_expression "*(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" (* "*") (cast_expression "(ulong *)((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3))" (( "(") (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3)" (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48) + 0x10" (binary_expression "(long)puVar23 +\n                             *(long *)(lVar13 + 0x48)" (cast_expression "(long)puVar23" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar23")) (+ "+") (pointer_expression "*(long *)(lVar13 + 0x48)" (* "*") (cast_expression "(long *)(lVar13 + 0x48)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x48)" (( "(") (binary_expression "lVar13 + 0x48" (identifier "lVar13") (+ "+") (number_literal "0x48")) () ")"))))) (+ "+") (number_literal "0x10")) (+ "+") (parenthesized_expression "(-0x20 - (long)param_3)" (( "(") (binary_expression "-0x20 - (long)param_3" (number_literal "-0x20") (- "-") (cast_expression "(long)param_3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_3"))) () ")"))) () ")"))))) (; ";")) (expression_statement "uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18;" (assignment_expression "uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18" (identifier "uVar10") (= "=") (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |\n                   uVar24 << 0x18" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8" (binary_expression "uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8" (binary_expression "uVar24 >> 0x18" (identifier "uVar24") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar24 & 0xff0000) >> 8" (parenthesized_expression "(uVar24 & 0xff0000)" (( "(") (binary_expression "uVar24 & 0xff0000" (identifier "uVar24") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar24 & 0xff00) << 8" (parenthesized_expression "(uVar24 & 0xff00)" (( "(") (binary_expression "uVar24 & 0xff00" (identifier "uVar24") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar24 << 0x18" (identifier "uVar24") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;" (assignment_expression "uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" (identifier "uVar14") (= "=") (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |\n                   (uVar14 & 0xff00) << 0x28" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |\n                   (uVar14 & 0xff000000) << 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |\n                   (uVar14 & 0xff0000000000) >> 0x18" (binary_expression "uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28" (binary_expression "uVar14 >> 0x38" (identifier "uVar14") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar14 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar14 & 0xff000000000000)" (( "(") (binary_expression "uVar14 & 0xff000000000000" (identifier "uVar14") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar14 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar14 & 0xff0000000000)" (( "(") (binary_expression "uVar14 & 0xff0000000000" (identifier "uVar14") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar14 & 0xff00000000) >> 8" (parenthesized_expression "(uVar14 & 0xff00000000)" (( "(") (binary_expression "uVar14 & 0xff00000000" (identifier "uVar14") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar14 & 0xff000000) << 8" (parenthesized_expression "(uVar14 & 0xff000000)" (( "(") (binary_expression "uVar14 & 0xff000000" (identifier "uVar14") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar14 & 0xff0000) << 0x18" (parenthesized_expression "(uVar14 & 0xff0000)" (( "(") (binary_expression "uVar14 & 0xff0000" (identifier "uVar14") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar14 & 0xff00) << 0x28" (parenthesized_expression "(uVar14 & 0xff00)" (( "(") (binary_expression "uVar14 & 0xff00" (identifier "uVar14") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar14 << 0x38" (identifier "uVar14") (<< "<<") (number_literal "0x38")))) (; ";")) (} "}")))) (expression_statement "puVar23[1] = uVar10;" (assignment_expression "puVar23[1] = uVar10" (subscript_expression "puVar23[1]" (identifier "puVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar10")) (; ";")) (expression_statement "puVar18 = puVar23 + 6;" (assignment_expression "puVar18 = puVar23 + 6" (identifier "puVar18") (= "=") (binary_expression "puVar23 + 6" (identifier "puVar23") (+ "+") (number_literal "6"))) (; ";")) (expression_statement "*puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18;" (assignment_expression "*puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   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 "*(ulong *)(puVar23 + 2) = uVar21;" (assignment_expression "*(ulong *)(puVar23 + 2) = uVar21" (pointer_expression "*(ulong *)(puVar23 + 2)" (* "*") (cast_expression "(ulong *)(puVar23 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + 2)" (( "(") (binary_expression "puVar23 + 2" (identifier "puVar23") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar21")) (; ";")) (expression_statement "*(ulong *)(puVar23 + 4) = uVar14;" (assignment_expression "*(ulong *)(puVar23 + 4) = uVar14" (pointer_expression "*(ulong *)(puVar23 + 4)" (* "*") (cast_expression "(ulong *)(puVar23 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar23 + 4)" (( "(") (binary_expression "puVar23 + 4" (identifier "puVar23") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "uVar14")) (; ";")) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" (identifier "puVar23") (= "=") (identifier "puVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar26 != uVar27)" (( "(") (binary_expression "uVar26 != uVar27" (identifier "uVar26") (!= "!=") (identifier "uVar27")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_68 != 0) {\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }" (if "if") (parenthesized_expression "(local_68 != 0)" (( "(") (binary_expression "local_68 != 0" (identifier "local_68") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      puVar23 = puVar18;\n      uVar21 = 0;\n      do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n    }" ({ "{") (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" (identifier "puVar23") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);" (do "do") (compound_statement "{\n        lVar15 = *(long *)(*plVar16 + uVar21 * 8);\n        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }\n        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }\n        if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }\n        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }\n        if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }\n        puVar23[4] = uVar24;\n        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;\n        puVar18 = puVar23 + 5;\n        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;\n        puVar23[2] = uVar26;\n        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;\n        bVar28 = local_68 - 1 != uVar21;\n        puVar23 = puVar18;\n        uVar21 = uVar21 + 1;\n      }" ({ "{") (expression_statement "lVar15 = *(long *)(*plVar16 + uVar21 * 8);" (assignment_expression "lVar15 = *(long *)(*plVar16 + uVar21 * 8)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(*plVar16 + uVar21 * 8)" (* "*") (cast_expression "(long *)(*plVar16 + uVar21 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*plVar16 + uVar21 * 8)" (( "(") (binary_expression "*plVar16 + uVar21 * 8" (pointer_expression "*plVar16" (* "*") (identifier "plVar16")) (+ "+") (binary_expression "uVar21 * 8" (identifier "uVar21") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 0x10)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar15 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3a)" (( "(") (binary_expression "lVar15 + 0x3a" (identifier "lVar15") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));\n        }" ({ "{") (expression_statement "lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));" (assignment_expression "lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40))" (identifier "lVar15") (= "=") (call_expression "FUN_002713d0(*(undefined8 *)(param_1 + 0x40))" (identifier "FUN_002713d0") (argument_list "(*(undefined8 *)(param_1 + 0x40))" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) () ")")))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }\n        else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar15 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3a)" (( "(") (binary_expression "lVar15 + 0x3a" (identifier "lVar15") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }\nLAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n          uVar27 = 0;\n        }" ({ "{") (if_statement "if (plVar4 == *(long **)(lVar15 + 0x10)) {\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }" (if "if") (parenthesized_expression "(plVar4 == *(long **)(lVar15 + 0x10))" (( "(") (binary_expression "plVar4 == *(long **)(lVar15 + 0x10)" (identifier "plVar4") (== "==") (pointer_expression "*(long **)(lVar15 + 0x10)" (* "*") (cast_expression "(long **)(lVar15 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar15 + 0x10)" (( "(") (binary_expression "lVar15 + 0x10" (identifier "lVar15") (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (compound_statement "{\n            uVar27 = *(uint *)(lVar15 + 0x18);\n            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }\n          }" ({ "{") (expression_statement "uVar27 = *(uint *)(lVar15 + 0x18);" (assignment_expression "uVar27 = *(uint *)(lVar15 + 0x18)" (identifier "uVar27") (= "=") (pointer_expression "*(uint *)(lVar15 + 0x18)" (* "*") (cast_expression "(uint *)(lVar15 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x18)" (( "(") (binary_expression "lVar15 + 0x18" (identifier "lVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }\n            else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar15 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3b)" (( "(") (binary_expression "lVar15 + 0x3b" (identifier "lVar15") (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              cVar8 = FUN_00270fe0();\n              if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }\n            }" ({ "{") (expression_statement "cVar8 = FUN_00270fe0();" (assignment_expression "cVar8 = FUN_00270fe0()" (identifier "cVar8") (= "=") (call_expression "FUN_00270fe0()" (identifier "FUN_00270fe0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar8 == '\0') {\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" (if "if") (parenthesized_expression "(cVar8 == '\0')" (( "(") (binary_expression "cVar8 == '\0'" (identifier "cVar8") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }\n                uVar27 = *(uint *)(lVar15 + 0x18);\n                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }\n                goto LAB_0019fd71;\n              }" ({ "{") (if_statement "if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x3a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar15 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3a)" (( "(") (binary_expression "lVar15 + 0x3a" (identifier "lVar15") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");\n                }" ({ "{") (expression_statement "FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");" (call_expression "FUN_0017c650("../../gold/symtab.h",0xaa,"shndx")" (identifier "FUN_0017c650") (argument_list "("../../gold/symtab.h",0xaa,"shndx")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0xaa") (, ",") (string_literal ""shndx"" (" """) (string_content "shndx") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar27 = *(uint *)(lVar15 + 0x18);" (assignment_expression "uVar27 = *(uint *)(lVar15 + 0x18)" (identifier "uVar27") (= "=") (pointer_expression "*(uint *)(lVar15 + 0x18)" (* "*") (cast_expression "(uint *)(lVar15 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x18)" (( "(") (binary_expression "lVar15 + 0x18" (identifier "lVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3b) & 0x20" (pointer_expression "*(byte *)(lVar15 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3b)" (( "(") (binary_expression "lVar15 + 0x3b" (identifier "lVar15") (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar27 = 1;\n                  goto LAB_0019fc56;\n                }" ({ "{") (expression_statement "uVar27 = 1;" (assignment_expression "uVar27 = 1" (identifier "uVar27") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0019fc56;" (goto "goto") (statement_identifier "LAB_0019fc56") (; ";")) (} "}"))) (goto_statement "goto LAB_0019fd71;" (goto "goto") (statement_identifier "LAB_0019fd71") (; ";")) (} "}"))) (} "}")) (else_clause "else if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" (else "else") (if_statement "if (uVar27 != 0) {\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);\n              goto LAB_0019fc56;\n            }" ({ "{") (labeled_statement "LAB_0019fd71:\n              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);" (statement_identifier "LAB_0019fd71") (: ":") (expression_statement "uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);" (assignment_expression "uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4)" (identifier "uVar27") (= "=") (pointer_expression "*(uint *)((long)__s + (ulong)uVar27 * 4)" (* "*") (cast_expression "(uint *)((long)__s + (ulong)uVar27 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)__s + (ulong)uVar27 * 4)" (( "(") (binary_expression "(long)__s + (ulong)uVar27 * 4" (cast_expression "(long)__s" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__s")) (+ "+") (binary_expression "(ulong)uVar27 * 4" (cast_expression "(ulong)uVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar27")) (* "*") (number_literal "4"))) () ")"))))) (; ";"))) (goto_statement "goto LAB_0019fc56;" (goto "goto") (statement_identifier "LAB_0019fc56") (; ";")) (} "}"))))) (} "}"))) (labeled_statement "LAB_0019fd3a:\n          uVar10 = *(uint *)(lVar15 + 0x1c);" (statement_identifier "LAB_0019fd3a") (: ":") (expression_statement "uVar10 = *(uint *)(lVar15 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar15 + 0x1c)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(lVar15 + 0x1c)" (* "*") (cast_expression "(uint *)(lVar15 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x1c)" (( "(") (binary_expression "lVar15 + 0x1c" (identifier "lVar15") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";"))) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" (identifier "uVar27") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" (else "else") (compound_statement "{\n          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;\n          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);\nLAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);\n        }" ({ "{") (if_statement "if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x3c) & 4) != 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x3c) & 4) != 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x3c) & 4)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3c) & 4" (pointer_expression "*(byte *)(lVar15 + 0x3c)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3c)" (( "(") (binary_expression "lVar15 + 0x3c" (identifier "lVar15") (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019fd3a;" (goto "goto") (statement_identifier "LAB_0019fd3a") (; ";"))) (expression_statement "uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);" (assignment_expression "uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" (identifier "uVar27") (= "=") (unary_expression "-(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" (- "-") (call_expression "(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1" (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3 & 1" (binary_expression "*(byte *)(lVar15 + 0x3b) >> 3" (pointer_expression "*(byte *)(lVar15 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar15 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x3b)" (( "(") (binary_expression "lVar15 + 0x3b" (identifier "lVar15") (+ "+") (number_literal "0x3b")) () ")")))) (>> ">>") (number_literal "3")) (& "&") (number_literal "1")) (^ "^") (number_literal "1")) () ")"))))) (; ";")) (labeled_statement "LAB_0019fc56:\n          uVar10 = *(uint *)(lVar15 + 0x1c);" (statement_identifier "LAB_0019fc56") (: ":") (expression_statement "uVar10 = *(uint *)(lVar15 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar15 + 0x1c)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(lVar15 + 0x1c)" (* "*") (cast_expression "(uint *)(lVar15 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x1c)" (( "(") (binary_expression "lVar15 + 0x1c" (identifier "lVar15") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if (uVar10 == 0) {\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");\n        }" ({ "{") (labeled_statement "LAB_0019fd47:\n                    \n          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");" (statement_identifier "LAB_0019fd47") (: ":") (expression_statement "FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");" (call_expression "FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index")" (identifier "FUN_0017c650") (argument_list "("../../gold/symtab.h",0x180,"symtab_index")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0x180") (, ",") (string_literal ""symtab_index"" (" """) (string_content "symtab_index") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }\n        else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" (if "if") (parenthesized_expression "(*(code **)(*plVar4 + 0x100) == FUN_001550f0)" (( "(") (binary_expression "*(code **)(*plVar4 + 0x100) == FUN_001550f0" (pointer_expression "*(code **)(*plVar4 + 0x100)" (* "*") (cast_expression "(code **)(*plVar4 + 0x100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x100)" (( "(") (binary_expression "*plVar4 + 0x100" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x100")) () ")")))) (== "==") (identifier "FUN_001550f0")) () ")")) (compound_statement "{\n          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);\n        }" ({ "{") (expression_statement "uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);" (assignment_expression "uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(plVar4[0x12] + uVar21 * 4)" (* "*") (cast_expression "(uint *)(plVar4[0x12] + uVar21 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar4[0x12] + uVar21 * 4)" (( "(") (binary_expression "plVar4[0x12] + uVar21 * 4" (subscript_expression "plVar4[0x12]" (identifier "plVar4") ([ "[") (number_literal "0x12") (] "]")) (+ "+") (binary_expression "uVar21 * 4" (identifier "uVar21") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" (else "else") (compound_statement "{\n          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);\n        }" ({ "{") (expression_statement "uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);" (assignment_expression "uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4)" (identifier "uVar11") (= "=") (call_expression "(**(code **)(*plVar4 + 0x100))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x100))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x100)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x100)" (* "*") (cast_expression "(code **)(*plVar4 + 0x100)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x100)" (( "(") (binary_expression "*plVar4 + 0x100" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x100")) () ")"))))) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")")))) (; ";")) (} "}")))) (if_statement "if (uVar11 == 0) {\n          uVar26 = 0;\n          uVar24 = 0;\n        }\n        else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" (if "if") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar26 = 0;\n          uVar24 = 0;\n        }" ({ "{") (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" (identifier "uVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" (else "else") (compound_statement "{\n          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }\n          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }\n          uVar26 = iVar12 * 0x18;\n          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);\n          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;\n          uVar26 = *puVar18;\n          *puVar18 = (int)puVar23 - iVar7;\n          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;\n        }" ({ "{") (if_statement "if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" (if "if") (parenthesized_expression "((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24))" (( "(") (binary_expression "(uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)" (parenthesized_expression "(uVar10 == 0xffffffff)" (( "(") (binary_expression "uVar10 == 0xffffffff" (identifier "uVar10") (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(uVar24 = uVar10 - iVar2, param_6 <= uVar24)" (( "(") (comma_expression "uVar24 = uVar10 - iVar2, param_6 <= uVar24" (assignment_expression "uVar24 = uVar10 - iVar2" (identifier "uVar24") (= "=") (binary_expression "uVar10 - iVar2" (identifier "uVar10") (- "-") (identifier "iVar2"))) (, ",") (binary_expression "param_6 <= uVar24" (identifier "param_6") (<= "<=") (identifier "uVar24"))) () ")"))) () ")")) (compound_statement "{\n                    \n            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");\n          }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x678,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x678") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }\n          else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" (if "if") (parenthesized_expression "(*(code **)(*plVar4 + 0xf8) == FUN_001550e0)" (( "(") (binary_expression "*(code **)(*plVar4 + 0xf8) == FUN_001550e0" (pointer_expression "*(code **)(*plVar4 + 0xf8)" (* "*") (cast_expression "(code **)(*plVar4 + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xf8)" (( "(") (binary_expression "*plVar4 + 0xf8" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xf8")) () ")")))) (== "==") (identifier "FUN_001550e0")) () ")")) (compound_statement "{\n            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);\n          }" ({ "{") (expression_statement "iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);" (assignment_expression "iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(plVar4[0x13] + uVar21 * 4)" (* "*") (cast_expression "(int *)(plVar4[0x13] + uVar21 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar4[0x13] + uVar21 * 4)" (( "(") (binary_expression "plVar4[0x13] + uVar21 * 4" (subscript_expression "plVar4[0x13]" (identifier "plVar4") ([ "[") (number_literal "0x13") (] "]")) (+ "+") (binary_expression "uVar21 * 4" (identifier "uVar21") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" (else "else") (compound_statement "{\n            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);\n          }" ({ "{") (expression_statement "iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);" (assignment_expression "iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff)" (identifier "iVar12") (= "=") (call_expression "(**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff)" (parenthesized_expression "(**(code **)(*plVar4 + 0xf8))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0xf8)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0xf8)" (* "*") (cast_expression "(code **)(*plVar4 + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xf8)" (( "(") (binary_expression "*plVar4 + 0xf8" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xf8")) () ")"))))) () ")")) (argument_list "(plVar4,uVar21 & 0xffffffff)" (( "(") (identifier "plVar4") (, ",") (binary_expression "uVar21 & 0xffffffff" (identifier "uVar21") (& "&") (number_literal "0xffffffff")) () ")")))) (; ";")) (} "}")))) (expression_statement "uVar26 = iVar12 * 0x18;" (assignment_expression "uVar26 = iVar12 * 0x18" (identifier "uVar26") (= "=") (binary_expression "iVar12 * 0x18" (identifier "iVar12") (* "*") (number_literal "0x18"))) (; ";")) (expression_statement "puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);" (assignment_expression "puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4)" (identifier "puVar18") (= "=") (cast_expression "(uint *)(param_5 + (ulong)uVar24 * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + (ulong)uVar24 * 4)" (( "(") (binary_expression "param_5 + (ulong)uVar24 * 4" (identifier "param_5") (+ "+") (binary_expression "(ulong)uVar24 * 4" (cast_expression "(ulong)uVar24" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar24")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000;" (assignment_expression "uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" (identifier "uVar24") (= "=") (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   iVar12 * 0x18000000" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" (identifier "uVar26") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" (( "(") (binary_expression "uVar26 & 0xff0000" (identifier "uVar26") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" (( "(") (binary_expression "uVar26 & 0xff00" (identifier "uVar26") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "iVar12 * 0x18000000" (identifier "iVar12") (* "*") (number_literal "0x18000000")))) (; ";")) (expression_statement "uVar26 = *puVar18;" (assignment_expression "uVar26 = *puVar18" (identifier "uVar26") (= "=") (pointer_expression "*puVar18" (* "*") (identifier "puVar18"))) (; ";")) (expression_statement "*puVar18 = (int)puVar23 - iVar7;" (assignment_expression "*puVar18 = (int)puVar23 - iVar7" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (binary_expression "(int)puVar23 - iVar7" (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23")) (- "-") (identifier "iVar7"))) (; ";")) (expression_statement "uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18;" (assignment_expression "uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18" (identifier "uVar26") (= "=") (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |\n                   uVar26 << 0x18" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8" (binary_expression "uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8" (binary_expression "uVar26 >> 0x18" (identifier "uVar26") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar26 & 0xff0000) >> 8" (parenthesized_expression "(uVar26 & 0xff0000)" (( "(") (binary_expression "uVar26 & 0xff0000" (identifier "uVar26") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar26 & 0xff00) << 8" (parenthesized_expression "(uVar26 & 0xff00)" (( "(") (binary_expression "uVar26 & 0xff00" (identifier "uVar26") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar26 << 0x18" (identifier "uVar26") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")))) (expression_statement "puVar23[4] = uVar24;" (assignment_expression "puVar23[4] = uVar24" (subscript_expression "puVar23[4]" (identifier "puVar23") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "*puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18;" (assignment_expression "*puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (= "=") (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                   uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar10 << 0x18" (identifier "uVar10") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar18 = puVar23 + 5;" (assignment_expression "puVar18 = puVar23 + 5" (identifier "puVar18") (= "=") (binary_expression "puVar23 + 5" (identifier "puVar23") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18;" (assignment_expression "puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18" (subscript_expression "puVar23[1]" (identifier "puVar23") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                     uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar27 << 0x18" (identifier "uVar27") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar23[2] = uVar26;" (assignment_expression "puVar23[2] = uVar26" (subscript_expression "puVar23[2]" (identifier "puVar23") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar26")) (; ";")) (expression_statement "puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18;" (assignment_expression "puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     uVar11 << 0x18" (subscript_expression "puVar23[3]" (identifier "puVar23") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                     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 "bVar28 = local_68 - 1 != uVar21;" (assignment_expression "bVar28 = local_68 - 1 != uVar21" (identifier "bVar28") (= "=") (binary_expression "local_68 - 1 != uVar21" (binary_expression "local_68 - 1" (identifier "local_68") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar21"))) (; ";")) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" (identifier "puVar23") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (} "}"))) (if_statement "if (uVar25 == 0) {\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }\n    else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" (if "if") (parenthesized_expression "(uVar25 == 0)" (( "(") (binary_expression "uVar25 == 0" (identifier "uVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      thunk_FUN_002dac60(__s);\n      param_3 = puVar18;\n    }" ({ "{") (expression_statement "thunk_FUN_002dac60(__s);" (call_expression "thunk_FUN_002dac60(__s)" (identifier "thunk_FUN_002dac60") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";")) (expression_statement "param_3 = puVar18;" (assignment_expression "param_3 = puVar18" (identifier "param_3") (= "=") (identifier "puVar18")) (; ";")) (} "}")) (else_clause "else {\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" (else "else") (compound_statement "{\n      puVar22 = *(ulong **)(lVar13 + 0x60);\n      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;\n      do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);\nLAB_0019fed8:\n      thunk_FUN_002dac60(__s);\n    }" ({ "{") (expression_statement "puVar22 = *(ulong **)(lVar13 + 0x60);" (assignment_expression "puVar22 = *(ulong **)(lVar13 + 0x60)" (identifier "puVar22") (= "=") (pointer_expression "*(ulong **)(lVar13 + 0x60)" (* "*") (cast_expression "(ulong **)(lVar13 + 0x60)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x60)" (( "(") (binary_expression "lVar13 + 0x60" (identifier "lVar13") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;" (assignment_expression "param_3 = puVar18 + (ulong)(uVar25 - 1) + 1" (identifier "param_3") (= "=") (binary_expression "puVar18 + (ulong)(uVar25 - 1) + 1" (binary_expression "puVar18 + (ulong)(uVar25 - 1)" (identifier "puVar18") (+ "+") (call_expression "(ulong)(uVar25 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar25 - 1)" (( "(") (binary_expression "uVar25 - 1" (identifier "uVar25") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (do_statement "do {\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      } while (puVar23 != param_3);" (do "do") (compound_statement "{\n        while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }\n        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;\n        puVar23 = puVar18 + 1;\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        puVar18 = puVar23;\n      }" ({ "{") (while_statement "while (uVar21 = *puVar22, uVar21 == 0) {\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }" (while "while") (parenthesized_expression "(uVar21 = *puVar22, uVar21 == 0)" (( "(") (comma_expression "uVar21 = *puVar22, uVar21 == 0" (assignment_expression "uVar21 = *puVar22" (identifier "uVar21") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (, ",") (binary_expression "uVar21 == 0" (identifier "uVar21") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n          *puVar18 = 0;\n          puVar18 = puVar18 + 1;\n          puVar22 = puVar22 + 1;\n          if (puVar18 == param_3) goto LAB_0019fed8;\n        }" ({ "{") (expression_statement "*puVar18 = 0;" (assignment_expression "*puVar18 = 0" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = puVar18 + 1;" (assignment_expression "puVar18 = puVar18 + 1" (identifier "puVar18") (= "=") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" (identifier "puVar22") (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (puVar18 == param_3) goto LAB_0019fed8;" (if "if") (parenthesized_expression "(puVar18 == param_3)" (( "(") (binary_expression "puVar18 == param_3" (identifier "puVar18") (== "==") (identifier "param_3")) () ")")) (goto_statement "goto LAB_0019fed8;" (goto "goto") (statement_identifier "LAB_0019fed8") (; ";"))) (} "}"))) (if_statement "if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;" (if "if") (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < uVar21)" (( "(") (binary_expression "*(ulong *)(param_4 + 0x50) < uVar21" (pointer_expression "*(ulong *)(param_4 + 0x50)" (* "*") (cast_expression "(ulong *)(param_4 + 0x50)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x50)" (( "(") (binary_expression "param_4 + 0x50" (identifier "param_4") (+ "+") (number_literal "0x50")) () ")")))) (< "<") (identifier "uVar21")) () ")")) (goto_statement "goto LAB_0019ff72;" (goto "goto") (statement_identifier "LAB_0019ff72") (; ";"))) (expression_statement "puVar23 = puVar18 + 1;" (assignment_expression "puVar23 = puVar18 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" (identifier "puVar22") (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (identifier "uVar27") (= "=") (binary_expression "(uint)*(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)\n                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18)" (( "(") (binary_expression "*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18" (pointer_expression "*(long *)(param_4 + 0x38)" (* "*") (cast_expression "(long *)(param_4 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x38)" (( "(") (binary_expression "param_4 + 0x38" (identifier "param_4") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" (( "(") (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" (identifier "uVar21") (- "-") (number_literal "1")) (>> ">>") (number_literal "0xd")) () ")")) (* "*") (number_literal "0x18"))) () ")")))) (+ "+") (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" (( "(") (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar21 - 1)" (( "(") (binary_expression "uVar21 - 1" (identifier "uVar21") (- "-") (number_literal "1")) () ")"))) (& "&") (number_literal "0x1fff")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "*puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar27 << 0x18" (identifier "uVar27") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" (identifier "puVar18") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar23 != param_3)" (( "(") (binary_expression "puVar23 != param_3" (identifier "puVar23") (!= "!=") (identifier "param_3")) () ")")) (; ";")) (labeled_statement "LAB_0019fed8:\n      thunk_FUN_002dac60(__s);" (statement_identifier "LAB_0019fed8") (: ":") (expression_statement "thunk_FUN_002dac60(__s);" (call_expression "thunk_FUN_002dac60(__s)" (identifier "thunk_FUN_002dac60") (argument_list "(__s)" (( "(") (identifier "__s") () ")"))) (; ";"))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 2;\n    puVar22 = *(ulong **)(lVar13 + 0x50);\n    lVar19 = *(long *)(lVar13 + 0x58);\n    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);\n    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;\n    if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }\n    param_3 = puVar23;\n    if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }\n    break;" (case "case") (number_literal "3") (: ":") (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" (( "(") (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" (( "(") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88"))) () ")")) ([ "[") (number_literal "3") (] "]"))) (!= "!=") (binary_expression "iVar12 - iVar7" (identifier "iVar12") (- "-") (identifier "iVar7"))) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x6d4,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x6d4") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x30))()" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*(long *)*local_88 + 0x30))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x30))" (( "(") (pointer_expression "**(code **)(*(long *)*local_88 + 0x30)" (* "*") (pointer_expression "*(code **)(*(long *)*local_88 + 0x30)" (* "*") (cast_expression "(code **)(*(long *)*local_88 + 0x30)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*local_88 + 0x30)" (( "(") (binary_expression "*(long *)*local_88 + 0x30" (pointer_expression "*(long *)*local_88" (* "*") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88")))) (+ "+") (number_literal "0x30")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x6d6,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x6d6") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar15 = *(long *)(lVar13 + 0x38);" (assignment_expression "lVar15 = *(long *)(lVar13 + 0x38)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(lVar13 + 0x38)" (* "*") (cast_expression "(long *)(lVar13 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar23 = param_3 + 2;" (assignment_expression "puVar23 = param_3 + 2" (identifier "puVar23") (= "=") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "puVar22 = *(ulong **)(lVar13 + 0x50);" (assignment_expression "puVar22 = *(ulong **)(lVar13 + 0x50)" (identifier "puVar22") (= "=") (pointer_expression "*(ulong **)(lVar13 + 0x50)" (* "*") (cast_expression "(ulong **)(lVar13 + 0x50)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x50)" (( "(") (binary_expression "lVar13 + 0x50" (identifier "lVar13") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "lVar19 = *(long *)(lVar13 + 0x58);" (assignment_expression "lVar19 = *(long *)(lVar13 + 0x58)" (identifier "lVar19") (= "=") (pointer_expression "*(long *)(lVar13 + 0x58)" (* "*") (cast_expression "(long *)(lVar13 + 0x58)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x58)" (( "(") (binary_expression "lVar13 + 0x58" (identifier "lVar13") (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);" (assignment_expression "uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" (identifier "uVar27") (= "=") (call_expression "(uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(long *)(lVar13 + 0x40) - lVar15 >> 3)" (( "(") (binary_expression "*(long *)(lVar13 + 0x40) - lVar15 >> 3" (binary_expression "*(long *)(lVar13 + 0x40) - lVar15" (pointer_expression "*(long *)(lVar13 + 0x40)" (* "*") (cast_expression "(long *)(lVar13 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x40)" (( "(") (binary_expression "lVar13 + 0x40" (identifier "lVar13") (+ "+") (number_literal "0x40")) () ")")))) (- "-") (identifier "lVar15")) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar27 << 0x18" (identifier "uVar27") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);" (assignment_expression "uVar25 = (uint)(lVar19 - (long)puVar22 >> 3)" (identifier "uVar25") (= "=") (call_expression "(uint)(lVar19 - (long)puVar22 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar19 - (long)puVar22 >> 3)" (( "(") (binary_expression "lVar19 - (long)puVar22 >> 3" (binary_expression "lVar19 - (long)puVar22" (identifier "lVar19") (- "-") (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22"))) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (expression_statement "param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18\n    ;" (assignment_expression "param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" (identifier "uVar25") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" (( "(") (binary_expression "uVar25 & 0xff0000" (identifier "uVar25") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" (( "(") (binary_expression "uVar25 & 0xff00" (identifier "uVar25") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar25 << 0x18" (identifier "uVar25") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (uVar27 != 0) {\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar21 = 0;\n      do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);\n      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;\n    }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      } while (bVar28);" (do "do") (compound_statement "{\n        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);\n        param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;\n        bVar28 = uVar27 - 1 != uVar21;\n        uVar21 = uVar21 + 1;\n      }" ({ "{") (expression_statement "uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);" (assignment_expression "uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" (* "*") (cast_expression "(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar15 + uVar21 * 8) + 0x14)" (( "(") (binary_expression "*(long *)(lVar15 + uVar21 * 8) + 0x14" (pointer_expression "*(long *)(lVar15 + uVar21 * 8)" (* "*") (cast_expression "(long *)(lVar15 + uVar21 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + uVar21 * 8)" (( "(") (binary_expression "lVar15 + uVar21 * 8" (identifier "lVar15") (+ "+") (binary_expression "uVar21 * 8" (identifier "uVar21") (* "*") (number_literal "8"))) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;" (assignment_expression "param_3[uVar21 + 2] =\n             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (subscript_expression "param_3[uVar21 + 2]" (identifier "param_3") ([ "[") (binary_expression "uVar21 + 2" (identifier "uVar21") (+ "+") (number_literal "2")) (] "]")) (= "=") (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar10 << 0x18" (identifier "uVar10") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "bVar28 = uVar27 - 1 != uVar21;" (assignment_expression "bVar28 = uVar27 - 1 != uVar21" (identifier "bVar28") (= "=") (binary_expression "uVar27 - 1 != uVar21" (binary_expression "uVar27 - 1" (identifier "uVar27") (- "-") (number_literal "1")) (!= "!=") (identifier "uVar21"))) (; ";")) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar28)" (( "(") (identifier "bVar28") () ")")) (; ";")) (expression_statement "puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;" (assignment_expression "puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + (ulong)(uVar27 - 1) + 1" (binary_expression "puVar23 + (ulong)(uVar27 - 1)" (identifier "puVar23") (+ "+") (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar27 - 1)" (( "(") (binary_expression "uVar27 - 1" (identifier "uVar27") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" (identifier "param_3") (= "=") (identifier "puVar23")) (; ";")) (if_statement "if (uVar25 != 0) {\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }" (if "if") (parenthesized_expression "(uVar25 != 0)" (( "(") (binary_expression "uVar25 != 0" (identifier "uVar25") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar21 = *puVar22;\n      uVar14 = *(ulong *)(param_4 + 0x50);\n      if (uVar14 < uVar21) goto LAB_0019ff72;\n      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;\n      lVar13 = *(long *)(param_4 + 0x38);\n      while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }\n    }" ({ "{") (expression_statement "uVar21 = *puVar22;" (assignment_expression "uVar21 = *puVar22" (identifier "uVar21") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";")) (expression_statement "uVar14 = *(ulong *)(param_4 + 0x50);" (assignment_expression "uVar14 = *(ulong *)(param_4 + 0x50)" (identifier "uVar14") (= "=") (pointer_expression "*(ulong *)(param_4 + 0x50)" (* "*") (cast_expression "(ulong *)(param_4 + 0x50)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x50)" (( "(") (binary_expression "param_4 + 0x50" (identifier "param_4") (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (if_statement "if (uVar14 < uVar21) goto LAB_0019ff72;" (if "if") (parenthesized_expression "(uVar14 < uVar21)" (( "(") (binary_expression "uVar14 < uVar21" (identifier "uVar14") (< "<") (identifier "uVar21")) () ")")) (goto_statement "goto LAB_0019ff72;" (goto "goto") (statement_identifier "LAB_0019ff72") (; ";"))) (expression_statement "param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;" (assignment_expression "param_3 = puVar23 + (ulong)(uVar25 - 1) + 1" (identifier "param_3") (= "=") (binary_expression "puVar23 + (ulong)(uVar25 - 1) + 1" (binary_expression "puVar23 + (ulong)(uVar25 - 1)" (identifier "puVar23") (+ "+") (call_expression "(ulong)(uVar25 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar25 - 1)" (( "(") (binary_expression "uVar25 - 1" (identifier "uVar25") (- "-") (number_literal "1")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "lVar13 = *(long *)(param_4 + 0x38);" (assignment_expression "lVar13 = *(long *)(param_4 + 0x38)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(param_4 + 0x38)" (* "*") (cast_expression "(long *)(param_4 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x38)" (( "(") (binary_expression "param_4 + 0x38" (identifier "param_4") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (while_statement "while( true ) {\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        puVar22 = puVar22 + 1;\n        uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);\n        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;\n        if (puVar23 + 1 == param_3) break;\n        uVar21 = *puVar22;\n        puVar23 = puVar23 + 1;\n        if (uVar14 < uVar21) goto LAB_0019ff72;\n      }" ({ "{") (expression_statement "puVar22 = puVar22 + 1;" (assignment_expression "puVar22 = puVar22 + 1" (identifier "puVar22") (= "=") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (identifier "uVar27") (= "=") (binary_expression "(uint)*(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)\n                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8)" (( "(") (binary_expression "*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +\n                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (pointer_expression "*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" (* "*") (cast_expression "(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + (uVar21 - 1 >> 0xd) * 0x18)" (( "(") (binary_expression "lVar13 + (uVar21 - 1 >> 0xd) * 0x18" (identifier "lVar13") (+ "+") (binary_expression "(uVar21 - 1 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 - 1 >> 0xd)" (( "(") (binary_expression "uVar21 - 1 >> 0xd" (binary_expression "uVar21 - 1" (identifier "uVar21") (- "-") (number_literal "1")) (>> ">>") (number_literal "0xd")) () ")")) (* "*") (number_literal "0x18"))) () ")")))) (+ "+") (binary_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff) * 8" (call_expression "(ulong)((uint)(uVar21 - 1) & 0x1fff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)(uVar21 - 1) & 0x1fff)" (( "(") (binary_expression "(uint)(uVar21 - 1) & 0x1fff" (call_expression "(uint)(uVar21 - 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar21 - 1)" (( "(") (binary_expression "uVar21 - 1" (identifier "uVar21") (- "-") (number_literal "1")) () ")"))) (& "&") (number_literal "0x1fff")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "*puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18;" (assignment_expression "*puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |\n                   uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar27 << 0x18" (identifier "uVar27") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (puVar23 + 1 == param_3) break;" (if "if") (parenthesized_expression "(puVar23 + 1 == param_3)" (( "(") (binary_expression "puVar23 + 1 == param_3" (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1")) (== "==") (identifier "param_3")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar21 = *puVar22;" (assignment_expression "uVar21 = *puVar22" (identifier "uVar21") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";")) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar14 < uVar21) goto LAB_0019ff72;" (if "if") (parenthesized_expression "(uVar14 < uVar21)" (( "(") (binary_expression "uVar14 < uVar21" (identifier "uVar14") (< "<") (identifier "uVar21")) () ")")) (goto_statement "goto LAB_0019ff72;" (goto "goto") (statement_identifier "LAB_0019ff72") (; ";"))) (} "}"))) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }\n    plVar4 = *(long **)(lVar13 + 0x40);\n    lVar15 = (**(code **)(*plVar4 + 0x20))();\n    if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }\n    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();\n    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }\n    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;\n    puVar23 = param_3 + 2;\n    lVar13 = plVar16[1];\n    uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    lVar19 = *plVar16;\n    uVar27 = (uint)(lVar13 - lVar19 >> 3);\n    if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }\n    goto LAB_0019fe3e;" (case "case") (number_literal "4") (: ":") (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" (( "(") (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" (( "(") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88"))) () ")")) ([ "[") (number_literal "3") (] "]"))) (!= "!=") (binary_expression "iVar12 - iVar7" (identifier "iVar12") (- "-") (identifier "iVar7"))) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x69a,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x69a") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x28))()" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*(long *)*local_88 + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x28))" (( "(") (pointer_expression "**(code **)(*(long *)*local_88 + 0x28)" (* "*") (pointer_expression "*(code **)(*(long *)*local_88 + 0x28)" (* "*") (cast_expression "(code **)(*(long *)*local_88 + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*local_88 + 0x28)" (( "(") (binary_expression "*(long *)*local_88 + 0x28" (pointer_expression "*(long *)*local_88" (* "*") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x69c,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x69c") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar4 = *(long **)(lVar13 + 0x40);" (assignment_expression "plVar4 = *(long **)(lVar13 + 0x40)" (identifier "plVar4") (= "=") (pointer_expression "*(long **)(lVar13 + 0x40)" (* "*") (cast_expression "(long **)(lVar13 + 0x40)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x40)" (( "(") (binary_expression "lVar13 + 0x40" (identifier "lVar13") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (expression_statement "lVar15 = (**(code **)(*plVar4 + 0x20))();" (assignment_expression "lVar15 = (**(code **)(*plVar4 + 0x20))()" (identifier "lVar15") (= "=") (call_expression "(**(code **)(*plVar4 + 0x20))()" (parenthesized_expression "(**(code **)(*plVar4 + 0x20))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x20)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x20)" (* "*") (cast_expression "(code **)(*plVar4 + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x20)" (( "(") (binary_expression "*plVar4 + 0x20" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar15 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x69f,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x69f") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();" (assignment_expression "plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))()" (identifier "plVar16") (= "=") (cast_expression "(long *)(**(code **)(*plVar4 + 0xe8))()" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*plVar4 + 0xe8))()" (parenthesized_expression "(**(code **)(*plVar4 + 0xe8))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0xe8)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0xe8)" (* "*") (cast_expression "(code **)(*plVar4 + 0xe8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xe8)" (( "(") (binary_expression "*plVar4 + 0xe8" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xe8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" (if "if") (parenthesized_expression "(*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38))" (( "(") (binary_expression "*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)" (pointer_expression "*(ulong *)(param_4 + 0x50)" (* "*") (cast_expression "(ulong *)(param_4 + 0x50)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x50)" (( "(") (binary_expression "param_4 + 0x50" (identifier "param_4") (+ "+") (number_literal "0x50")) () ")")))) (< "<") (pointer_expression "*(ulong *)(lVar13 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (compound_statement "{\nLAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");\n    }" ({ "{") (labeled_statement "LAB_0019ff72:\n                    \n      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");" (statement_identifier "LAB_0019ff72") (: ":") (expression_statement "FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key")" (identifier "FUN_0017c650") (argument_list "("../../gold/stringpool.h",0x108,"get_offset_from_key")" (( "(") (string_literal ""../../gold/stringpool.h"" (" """) (string_content "../../gold/stringpool.h") (" """)) (, ",") (number_literal "0x108") (, ",") (string_literal ""get_offset_from_key"" (" """) (string_content "get_offset_from_key") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar21 = *(ulong *)(lVar13 + 0x38) - 1;" (assignment_expression "uVar21 = *(ulong *)(lVar13 + 0x38) - 1" (identifier "uVar21") (= "=") (binary_expression "*(ulong *)(lVar13 + 0x38) - 1" (pointer_expression "*(ulong *)(lVar13 + 0x38)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x38)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")")))) (- "-") (number_literal "1"))) (; ";")) (expression_statement "puVar23 = param_3 + 2;" (assignment_expression "puVar23 = param_3 + 2" (identifier "puVar23") (= "=") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "lVar13 = plVar16[1];" (assignment_expression "lVar13 = plVar16[1]" (identifier "lVar13") (= "=") (subscript_expression "plVar16[1]" (identifier "plVar16") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8);" (assignment_expression "uVar27 = (uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" (identifier "uVar27") (= "=") (binary_expression "(uint)*(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(undefined8 *)\n                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +\n                    (ulong)((uint)uVar21 & 0x1fff) * 8" (pointer_expression "*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18)" (( "(") (binary_expression "*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18" (pointer_expression "*(long *)(param_4 + 0x38)" (* "*") (cast_expression "(long *)(param_4 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x38)" (( "(") (binary_expression "param_4 + 0x38" (identifier "param_4") (+ "+") (number_literal "0x38")) () ")")))) (+ "+") (binary_expression "(uVar21 >> 0xd) * 0x18" (parenthesized_expression "(uVar21 >> 0xd)" (( "(") (binary_expression "uVar21 >> 0xd" (identifier "uVar21") (>> ">>") (number_literal "0xd")) () ")")) (* "*") (number_literal "0x18"))) () ")")))) (+ "+") (binary_expression "(ulong)((uint)uVar21 & 0x1fff) * 8" (call_expression "(ulong)((uint)uVar21 & 0x1fff)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((uint)uVar21 & 0x1fff)" (( "(") (binary_expression "(uint)uVar21 & 0x1fff" (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21")) (& "&") (number_literal "0x1fff")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar27 << 0x18" (identifier "uVar27") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" (identifier "lVar19") (= "=") (pointer_expression "*plVar16" (* "*") (identifier "plVar16"))) (; ";")) (expression_statement "uVar27 = (uint)(lVar13 - lVar19 >> 3);" (assignment_expression "uVar27 = (uint)(lVar13 - lVar19 >> 3)" (identifier "uVar27") (= "=") (call_expression "(uint)(lVar13 - lVar19 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(lVar13 - lVar19 >> 3)" (( "(") (binary_expression "lVar13 - lVar19 >> 3" (binary_expression "lVar13 - lVar19" (identifier "lVar13") (- "-") (identifier "lVar19")) (>> ">>") (number_literal "3")) () ")")))) (; ";")) (if_statement "if (uVar27 != 0) {\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar13 = 0;\n      uVar25 = 0;\n      puVar18 = puVar23;\n      do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );\n    }" ({ "{") (expression_statement "lVar13 = 0;" (assignment_expression "lVar13 = 0" (identifier "lVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = 0;" (assignment_expression "uVar25 = 0" (identifier "uVar25") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" (identifier "puVar18") (= "=") (identifier "puVar23")) (; ";")) (do_statement "do {\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      } while( true );" (do "do") (compound_statement "{\n        lVar19 = *(long *)(lVar19 + lVar13);\n        puVar23 = puVar18;\n        if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }\n        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;\n        lVar19 = *plVar16;\n        lVar13 = lVar13 + 8;\n        puVar18 = puVar23;\n      }" ({ "{") (expression_statement "lVar19 = *(long *)(lVar19 + lVar13);" (assignment_expression "lVar19 = *(long *)(lVar19 + lVar13)" (identifier "lVar19") (= "=") (pointer_expression "*(long *)(lVar19 + lVar13)" (* "*") (cast_expression "(long *)(lVar19 + lVar13)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + lVar13)" (( "(") (binary_expression "lVar19 + lVar13" (identifier "lVar19") (+ "+") (identifier "lVar13")) () ")"))))) (; ";")) (expression_statement "puVar23 = puVar18;" (assignment_expression "puVar23 = puVar18" (identifier "puVar23") (= "=") (identifier "puVar18")) (; ";")) (if_statement "if (lVar19 != 0) {\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }" (if "if") (parenthesized_expression "(lVar19 != 0)" (( "(") (binary_expression "lVar19 != 0" (identifier "lVar19") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }\n          uVar10 = *(uint *)(lVar19 + 0x1c);\n          if (uVar10 == 0) goto LAB_0019fd47;\n          if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }\n        }" ({ "{") (if_statement "if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }" (if "if") (parenthesized_expression "((*(byte *)(lVar19 + 0x3a) & 0x10) != 0)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0x3a) & 0x10) != 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3a) & 0x10)" (( "(") (binary_expression "*(byte *)(lVar19 + 0x3a) & 0x10" (pointer_expression "*(byte *)(lVar19 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar19 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x3a)" (( "(") (binary_expression "lVar19 + 0x3a" (identifier "lVar19") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);\n          }" ({ "{") (expression_statement "lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);" (assignment_expression "lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19)" (identifier "lVar19") (= "=") (call_expression "FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19)" (identifier "FUN_002713d0") (argument_list "(*(undefined8 *)(param_1 + 0x40),lVar19)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "lVar19") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar10 = *(uint *)(lVar19 + 0x1c);" (assignment_expression "uVar10 = *(uint *)(lVar19 + 0x1c)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(lVar19 + 0x1c)" (* "*") (cast_expression "(uint *)(lVar19 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x1c)" (( "(") (binary_expression "lVar19 + 0x1c" (identifier "lVar19") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (uVar10 == 0) goto LAB_0019fd47;" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019fd47;" (goto "goto") (statement_identifier "LAB_0019fd47") (; ";"))) (if_statement "if (uVar10 != 0xffffffff) {\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }" (if "if") (parenthesized_expression "(uVar10 != 0xffffffff)" (( "(") (binary_expression "uVar10 != 0xffffffff" (identifier "uVar10") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }\nLAB_0019f725:\n            puVar23 = puVar18 + 1;\n            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;\n            uVar25 = uVar25 + 1;\n          }" ({ "{") (if_statement "if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {\n              uVar10 = uVar10 | 0x80000000;\n            }\n            else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" (if "if") (parenthesized_expression "((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0x39) & 3) - 1 < 2" (binary_expression "(*(byte *)(lVar19 + 0x39) & 3) - 1" (parenthesized_expression "(*(byte *)(lVar19 + 0x39) & 3)" (( "(") (binary_expression "*(byte *)(lVar19 + 0x39) & 3" (pointer_expression "*(byte *)(lVar19 + 0x39)" (* "*") (cast_expression "(byte *)(lVar19 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x39)" (( "(") (binary_expression "lVar19 + 0x39" (identifier "lVar19") (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3")) () ")")) (- "-") (number_literal "1")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n              uVar10 = uVar10 | 0x80000000;\n            }" ({ "{") (expression_statement "uVar10 = uVar10 | 0x80000000;" (assignment_expression "uVar10 = uVar10 | 0x80000000" (identifier "uVar10") (= "=") (binary_expression "uVar10 | 0x80000000" (identifier "uVar10") (| "|") (number_literal "0x80000000"))) (; ";")) (} "}")) (else_clause "else {\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" (else "else") (compound_statement "{\n              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }\n              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;\n              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;\n            }" ({ "{") (if_statement "if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }\n              else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" (if "if") (parenthesized_expression "(((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10)))" (( "(") (binary_expression "((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))" (parenthesized_expression "((*(byte *)(lVar19 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)(lVar19 + 0x3a) & 7" (pointer_expression "*(byte *)(lVar19 + 0x3a)" (* "*") (cast_expression "(byte *)(lVar19 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x3a)" (( "(") (binary_expression "lVar19 + 0x3a" (identifier "lVar19") (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(plVar4 == *(long **)(lVar19 + 0x10))" (( "(") (binary_expression "plVar4 == *(long **)(lVar19 + 0x10)" (identifier "plVar4") (== "==") (pointer_expression "*(long **)(lVar19 + 0x10)" (* "*") (cast_expression "(long **)(lVar19 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar19 + 0x10)" (( "(") (binary_expression "lVar19 + 0x10" (identifier "lVar19") (+ "+") (number_literal "0x10")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n                bVar1 = *(byte *)(lVar19 + 0x3b);\n                if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }\n                cVar8 = FUN_00270fe0();\n                uVar10 = 0x80000000;\n                if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }\n              }" ({ "{") (expression_statement "bVar1 = *(byte *)(lVar19 + 0x3b);" (assignment_expression "bVar1 = *(byte *)(lVar19 + 0x3b)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(lVar19 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar19 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x3b)" (( "(") (binary_expression "lVar19 + 0x3b" (identifier "lVar19") (+ "+") (number_literal "0x3b")) () ")"))))) (; ";")) (if_statement "if ((bVar1 & 0x20) != 0) {\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" (if "if") (parenthesized_expression "((bVar1 & 0x20) != 0)" (( "(") (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" (( "(") (binary_expression "bVar1 & 0x20" (identifier "bVar1") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar10 = uVar10 | 0x80000000;\n                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;\nLAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;\n                  goto LAB_0019f7ae;\n                }" ({ "{") (expression_statement "uVar10 = uVar10 | 0x80000000;" (assignment_expression "uVar10 = uVar10 | 0x80000000" (identifier "uVar10") (= "=") (binary_expression "uVar10 | 0x80000000" (identifier "uVar10") (| "|") (number_literal "0x80000000"))) (; ";")) (if_statement "if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;" (if "if") (parenthesized_expression "(*(int *)(lVar19 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(lVar19 + 0x18) != 0" (pointer_expression "*(int *)(lVar19 + 0x18)" (* "*") (cast_expression "(int *)(lVar19 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x18)" (( "(") (binary_expression "lVar19 + 0x18" (identifier "lVar19") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019f725;" (goto "goto") (statement_identifier "LAB_0019f725") (; ";"))) (labeled_statement "LAB_0019ff09:\n                  if ((bVar1 & 8) != 0) goto LAB_0019f792;" (statement_identifier "LAB_0019ff09") (: ":") (if_statement "if ((bVar1 & 8) != 0) goto LAB_0019f792;" (if "if") (parenthesized_expression "((bVar1 & 8) != 0)" (( "(") (binary_expression "(bVar1 & 8) != 0" (parenthesized_expression "(bVar1 & 8)" (( "(") (binary_expression "bVar1 & 8" (identifier "bVar1") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019f792;" (goto "goto") (statement_identifier "LAB_0019f792") (; ";")))) (goto_statement "goto LAB_0019f7ae;" (goto "goto") (statement_identifier "LAB_0019f7ae") (; ";")) (} "}"))) (expression_statement "cVar8 = FUN_00270fe0();" (assignment_expression "cVar8 = FUN_00270fe0()" (identifier "cVar8") (= "=") (call_expression "FUN_00270fe0()" (identifier "FUN_00270fe0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = 0x80000000;" (assignment_expression "uVar10 = 0x80000000" (identifier "uVar10") (= "=") (number_literal "0x80000000")) (; ";")) (if_statement "if (cVar8 != '\0') {\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }" (if "if") (parenthesized_expression "(cVar8 != '\0')" (( "(") (binary_expression "cVar8 != '\0'" (identifier "cVar8") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  bVar1 = *(byte *)(lVar19 + 0x3b);\n                  goto LAB_0019ff09;\n                }" ({ "{") (expression_statement "bVar1 = *(byte *)(lVar19 + 0x3b);" (assignment_expression "bVar1 = *(byte *)(lVar19 + 0x3b)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(lVar19 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar19 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x3b)" (( "(") (binary_expression "lVar19 + 0x3b" (identifier "lVar19") (+ "+") (number_literal "0x3b")) () ")"))))) (; ";")) (goto_statement "goto LAB_0019ff09;" (goto "goto") (statement_identifier "LAB_0019ff09") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" (else "else") (compound_statement "{\n                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;\nLAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);\n                if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }\n              }" ({ "{") (if_statement "if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;" (if "if") (parenthesized_expression "((*(byte *)(lVar19 + 0x3b) & 8) == 0)" (( "(") (binary_expression "(*(byte *)(lVar19 + 0x3b) & 8) == 0" (parenthesized_expression "(*(byte *)(lVar19 + 0x3b) & 8)" (( "(") (binary_expression "*(byte *)(lVar19 + 0x3b) & 8" (pointer_expression "*(byte *)(lVar19 + 0x3b)" (* "*") (cast_expression "(byte *)(lVar19 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x3b)" (( "(") (binary_expression "lVar19 + 0x3b" (identifier "lVar19") (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019f725;" (goto "goto") (statement_identifier "LAB_0019f725") (; ";"))) (labeled_statement "LAB_0019f792:\n                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);" (statement_identifier "LAB_0019f792") (: ":") (expression_statement "lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);" (assignment_expression "lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19)" (identifier "lVar17") (= "=") (call_expression "FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19)" (identifier "FUN_00271470") (argument_list "(*(undefined8 *)(param_1 + 0x40),lVar19)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (, ",") (identifier "lVar19") () ")")))) (; ";"))) (if_statement "if (lVar17 == lVar15) {\n                  uVar10 = 0xc0000000;\n                }\n                else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" (if "if") (parenthesized_expression "(lVar17 == lVar15)" (( "(") (binary_expression "lVar17 == lVar15" (identifier "lVar17") (== "==") (identifier "lVar15")) () ")")) (compound_statement "{\n                  uVar10 = 0xc0000000;\n                }" ({ "{") (expression_statement "uVar10 = 0xc0000000;" (assignment_expression "uVar10 = 0xc0000000" (identifier "uVar10") (= "=") (number_literal "0xc0000000")) (; ";")) (} "}")) (else_clause "else {\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" (else "else") (compound_statement "{\nLAB_0019f7ae:\n                  uVar10 = 0;\n                }" ({ "{") (labeled_statement "LAB_0019f7ae:\n                  uVar10 = 0;" (statement_identifier "LAB_0019f7ae") (: ":") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";"))) (} "}")))) (} "}")))) (if_statement "if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;" (if "if") (parenthesized_expression "(*(uint *)(lVar19 + 0x1c) == 0)" (( "(") (binary_expression "*(uint *)(lVar19 + 0x1c) == 0" (pointer_expression "*(uint *)(lVar19 + 0x1c)" (* "*") (cast_expression "(uint *)(lVar19 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x1c)" (( "(") (binary_expression "lVar19 + 0x1c" (identifier "lVar19") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019fd47;" (goto "goto") (statement_identifier "LAB_0019fd47") (; ";"))) (expression_statement "uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;" (assignment_expression "uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10" (identifier "uVar10") (= "=") (binary_expression "*(uint *)(lVar19 + 0x1c) | uVar10" (pointer_expression "*(uint *)(lVar19 + 0x1c)" (* "*") (cast_expression "(uint *)(lVar19 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar19 + 0x1c)" (( "(") (binary_expression "lVar19 + 0x1c" (identifier "lVar19") (+ "+") (number_literal "0x1c")) () ")")))) (| "|") (identifier "uVar10"))) (; ";")) (} "}")))) (labeled_statement "LAB_0019f725:\n            puVar23 = puVar18 + 1;" (statement_identifier "LAB_0019f725") (: ":") (expression_statement "puVar23 = puVar18 + 1;" (assignment_expression "puVar23 = puVar18 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar18 + 1" (identifier "puVar18") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18;" (assignment_expression "*puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |\n                       uVar10 << 0x18" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8" (binary_expression "uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8" (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 & 0xff0000) >> 8" (parenthesized_expression "(uVar10 & 0xff0000)" (( "(") (binary_expression "uVar10 & 0xff0000" (identifier "uVar10") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar10 & 0xff00) << 8" (parenthesized_expression "(uVar10 & 0xff00)" (( "(") (binary_expression "uVar10 & 0xff00" (identifier "uVar10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar10 << 0x18" (identifier "uVar10") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar25 = uVar25 + 1;" (assignment_expression "uVar25 = uVar25 + 1" (identifier "uVar25") (= "=") (binary_expression "uVar25 + 1" (identifier "uVar25") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;" (if "if") (parenthesized_expression "((ulong)(uVar27 - 1) * 8 - lVar13 == 0)" (( "(") (binary_expression "(ulong)(uVar27 - 1) * 8 - lVar13 == 0" (binary_expression "(ulong)(uVar27 - 1) * 8 - lVar13" (binary_expression "(ulong)(uVar27 - 1) * 8" (call_expression "(ulong)(uVar27 - 1)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar27 - 1)" (( "(") (binary_expression "uVar27 - 1" (identifier "uVar27") (- "-") (number_literal "1")) () ")"))) (* "*") (number_literal "8")) (- "-") (identifier "lVar13")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0019fe30;" (goto "goto") (statement_identifier "LAB_0019fe30") (; ";"))) (expression_statement "lVar19 = *plVar16;" (assignment_expression "lVar19 = *plVar16" (identifier "lVar19") (= "=") (pointer_expression "*plVar16" (* "*") (identifier "plVar16"))) (; ";")) (expression_statement "lVar13 = lVar13 + 8;" (assignment_expression "lVar13 = lVar13 + 8" (identifier "lVar13") (= "=") (binary_expression "lVar13 + 8" (identifier "lVar13") (+ "+") (number_literal "8"))) (; ";")) (expression_statement "puVar18 = puVar23;" (assignment_expression "puVar18 = puVar23" (identifier "puVar18") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_0019fe3e;" (goto "goto") (statement_identifier "LAB_0019fe3e") (; ";"))) (case_statement "case 5:\n    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }\n    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();\n    if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }\n    lVar15 = *(long *)(lVar13 + 0x38);\n    puVar23 = param_3 + 1;\n    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;\n    uVar27 = (uint)uVar21;\n    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;\n    param_3 = puVar23;\n    if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" (case "case") (number_literal "5") (: ":") (if_statement "if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "((int)((long *)*local_88)[3] != iVar12 - iVar7)" (( "(") (binary_expression "(int)((long *)*local_88)[3] != iVar12 - iVar7" (cast_expression "(int)((long *)*local_88)[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "((long *)*local_88)[3]" (parenthesized_expression "((long *)*local_88)" (( "(") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88"))) () ")")) ([ "[") (number_literal "3") (] "]"))) (!= "!=") (binary_expression "iVar12 - iVar7" (identifier "iVar12") (- "-") (identifier "iVar7"))) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x5ff,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x5ff") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();" (assignment_expression "lVar13 = (**(code **)(*(long *)*local_88 + 0x18))()" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*(long *)*local_88 + 0x18))()" (parenthesized_expression "(**(code **)(*(long *)*local_88 + 0x18))" (( "(") (pointer_expression "**(code **)(*(long *)*local_88 + 0x18)" (* "*") (pointer_expression "*(code **)(*(long *)*local_88 + 0x18)" (* "*") (cast_expression "(code **)(*(long *)*local_88 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)*local_88 + 0x18)" (( "(") (binary_expression "*(long *)*local_88 + 0x18" (pointer_expression "*(long *)*local_88" (* "*") (cast_expression "(long *)*local_88" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_88" (* "*") (identifier "local_88")))) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar13 == 0) {\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");" (call_expression "FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.cc",0x601,"write_info_blocks")" (( "(") (string_literal ""../../gold/incremental.cc"" (" """) (string_content "../../gold/incremental.cc") (" """)) (, ",") (number_literal "0x601") (, ",") (string_literal ""write_info_blocks"" (" """) (string_content "write_info_blocks") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar15 = *(long *)(lVar13 + 0x38);" (assignment_expression "lVar15 = *(long *)(lVar13 + 0x38)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(lVar13 + 0x38)" (* "*") (cast_expression "(long *)(lVar13 + 0x38)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x38)" (( "(") (binary_expression "lVar13 + 0x38" (identifier "lVar13") (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "puVar23 = param_3 + 1;" (assignment_expression "puVar23 = param_3 + 1" (identifier "puVar23") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;" (assignment_expression "uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3" (identifier "uVar21") (= "=") (binary_expression "*(long *)(lVar13 + 0x40) - lVar15 >> 3" (binary_expression "*(long *)(lVar13 + 0x40) - lVar15" (pointer_expression "*(long *)(lVar13 + 0x40)" (* "*") (cast_expression "(long *)(lVar13 + 0x40)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x40)" (( "(") (binary_expression "lVar13 + 0x40" (identifier "lVar13") (+ "+") (number_literal "0x40")) () ")")))) (- "-") (identifier "lVar15")) (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "uVar27 = (uint)uVar21;" (assignment_expression "uVar27 = (uint)uVar21" (identifier "uVar27") (= "=") (cast_expression "(uint)uVar21" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar21"))) (; ";")) (expression_statement "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;" (assignment_expression "*param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8" (binary_expression "uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8" (binary_expression "uVar27 >> 0x18" (identifier "uVar27") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar27 & 0xff0000) >> 8" (parenthesized_expression "(uVar27 & 0xff0000)" (( "(") (binary_expression "uVar27 & 0xff0000" (identifier "uVar27") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar27 & 0xff00) << 8" (parenthesized_expression "(uVar27 & 0xff00)" (( "(") (binary_expression "uVar27 & 0xff00" (identifier "uVar27") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar27 << 0x18" (identifier "uVar27") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" (identifier "param_3") (= "=") (identifier "puVar23")) (; ";")) (if_statement "if (uVar27 != 0) {\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" (if "if") (parenthesized_expression "(uVar27 != 0)" (( "(") (binary_expression "uVar27 != 0" (identifier "uVar27") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar14 = 0;\n      while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }\n    }" ({ "{") (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" (identifier "uVar14") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);\n        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;\n        param_3 = puVar23 + 1;\n        if (uVar27 - 1 == uVar14) break;\n        uVar14 = uVar14 + 1;\n        puVar23 = puVar23 + 1;\n        if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }\n      }" ({ "{") (expression_statement "uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);" (assignment_expression "uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" (identifier "uVar25") (= "=") (pointer_expression "*(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" (* "*") (cast_expression "(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(lVar15 + uVar14 * 8) + 0x14)" (( "(") (binary_expression "*(long *)(lVar15 + uVar14 * 8) + 0x14" (pointer_expression "*(long *)(lVar15 + uVar14 * 8)" (* "*") (cast_expression "(long *)(lVar15 + uVar14 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + uVar14 * 8)" (( "(") (binary_expression "lVar15 + uVar14 * 8" (identifier "lVar15") (+ "+") (binary_expression "uVar14 * 8" (identifier "uVar14") (* "*") (number_literal "8"))) () ")")))) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18;" (assignment_expression "*puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18" (pointer_expression "*puVar23" (* "*") (identifier "puVar23")) (= "=") (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |\n                   uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" (identifier "uVar25") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" (( "(") (binary_expression "uVar25 & 0xff0000" (identifier "uVar25") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" (( "(") (binary_expression "uVar25 & 0xff00" (identifier "uVar25") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar25 << 0x18" (identifier "uVar25") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_3 = puVar23 + 1;" (assignment_expression "param_3 = puVar23 + 1" (identifier "param_3") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar27 - 1 == uVar14) break;" (if "if") (parenthesized_expression "(uVar27 - 1 == uVar14)" (( "(") (binary_expression "uVar27 - 1 == uVar14" (binary_expression "uVar27 - 1" (identifier "uVar27") (- "-") (number_literal "1")) (== "==") (identifier "uVar14")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar14 = uVar14 + 1;" (assignment_expression "uVar14 = uVar14 + 1" (identifier "uVar14") (= "=") (binary_expression "uVar14 + 1" (identifier "uVar14") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar23 = puVar23 + 1;" (assignment_expression "puVar23 = puVar23 + 1" (identifier "puVar23") (= "=") (binary_expression "puVar23 + 1" (identifier "puVar23") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar21 == uVar14) {\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }" (if "if") (parenthesized_expression "(uVar21 == uVar14)" (( "(") (binary_expression "uVar21 == uVar14" (identifier "uVar21") (== "==") (identifier "uVar14")) () ")")) (compound_statement "{\n                    \n          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");\n        }" ({ "{") (expression_statement "FUN_0017c650("../../gold/incremental.h",0x149,"get_object");" (call_expression "FUN_0017c650("../../gold/incremental.h",0x149,"get_object")" (identifier "FUN_0017c650") (argument_list "("../../gold/incremental.h",0x149,"get_object")" (( "(") (string_literal ""../../gold/incremental.h"" (" """) (string_content "../../gold/incremental.h") (" """)) (, ",") (number_literal "0x149") (, ",") (string_literal ""get_object"" (" """) (string_content "get_object") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (} "}"))) (goto_statement "goto LAB_0019f5f4;" (goto "goto") (statement_identifier "LAB_0019f5f4") (; ";")) (labeled_statement "LAB_0019fe30:\n  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;" (statement_identifier "LAB_0019fe30") (: ":") (expression_statement "uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;" (assignment_expression "uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (identifier "uVar27") (= "=") (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8" (binary_expression "uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8" (binary_expression "uVar25 >> 0x18" (identifier "uVar25") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar25 & 0xff0000) >> 8" (parenthesized_expression "(uVar25 & 0xff0000)" (( "(") (binary_expression "uVar25 & 0xff0000" (identifier "uVar25") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar25 & 0xff00) << 8" (parenthesized_expression "(uVar25 & 0xff00)" (( "(") (binary_expression "uVar25 & 0xff00" (identifier "uVar25") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar25 << 0x18" (identifier "uVar25") (<< "<<") (number_literal "0x18")))) (; ";"))) (labeled_statement "LAB_0019fe3e:\n  param_3[1] = uVar27;" (statement_identifier "LAB_0019fe3e") (: ":") (expression_statement "param_3[1] = uVar27;" (assignment_expression "param_3[1] = uVar27" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar27")) (; ";"))) (expression_statement "param_3 = puVar23;" (assignment_expression "param_3 = puVar23" (identifier "param_3") (= "=") (identifier "puVar23")) (; ";")) (labeled_statement "LAB_0019f5f4:\n  if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" (statement_identifier "LAB_0019f5f4") (: ":") (if_statement "if (((long)param_3 - param_2 & 4U) != 0) {\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" (if "if") (parenthesized_expression "(((long)param_3 - param_2 & 4U) != 0)" (( "(") (binary_expression "((long)param_3 - param_2 & 4U) != 0" (parenthesized_expression "((long)param_3 - param_2 & 4U)" (( "(") (binary_expression "(long)param_3 - param_2 & 4U" (binary_expression "(long)param_3 - param_2" (cast_expression "(long)param_3" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_3")) (- "-") (identifier "param_2")) (& "&") (number_literal "4U")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *param_3 = 0;\n    param_3 = param_3 + 1;\n  }" ({ "{") (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" (identifier "local_88") (= "=") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((long *)plVar3[1] == local_88) {\n    return param_3;\n  }" (if "if") (parenthesized_expression "((long *)plVar3[1] == local_88)" (( "(") (binary_expression "(long *)plVar3[1] == local_88" (cast_expression "(long *)plVar3[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar3[1]" (identifier "plVar3") ([ "[") (number_literal "1") (] "]"))) (== "==") (identifier "local_88")) () ")")) (compound_statement "{\n    return param_3;\n  }" ({ "{") (return_statement "return param_3;" (return "return") (identifier "param_3") (; ";")) (} "}"))) (goto_statement "goto LAB_0019f550;" (goto "goto") (statement_identifier "LAB_0019f550") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* DWARF original prototype: uchar * write_info_blocks(Output_section_incremental_inputs<64,_true> *
   this, uchar * oview, uchar * pov, Stringpool * strtab, uint * global_syms, uint global_sym_count)
    */

type_11 * __thiscall
var_1::Output_section_incremental_inputs<64,_true>::write_info_blocks
          (Output_section_incremental_inputs<64,_true> *this,type_11 *oview,type_11 *pov,
          Stringpool *strtab,type_2 *global_syms,type_2 var_37)

{
  type_1 var_42;
  type_2 var_36;
  type_2 var_38;
  type_3 *pIVar4;
  type_4 *var_34;
  long var_14;
  type_5 pvVar7;
  long var_17;
  long var_18;
  bool bVar10;
  int iVar11;
  int var_6;
  int var_7;
  type_2 var_10;
  type_2 var_15;
  type_2 var_11;
  type_6 extraout_var;
  type_7 var_24;
  type_6 extraout_var_00;
  type_6 extraout_var_01;
  type_6 extraout_var_02;
  long var_13;
  type_8 *var_44;
  type_6 extraout_var_03;
  type_6 extraout_var_04;
  type_6 extraout_var_05;
  void *__s;
  type_2 var_31;
  type_2 *var_23;
  type_9 *var_41;
  type_10 *var_29;
  type_7 var_25;
  type_7 *var_40;
  type_2 *var_32;
  type_2 var_16;
  type_2 var_22;
  type_2 var_12;
  long var_9;
  type_5 var_4;
  type_2 var_19;
  long *plVar18;
  type_6 extraout_var_07;
  
  pIVar4 = this->inputs_;
  var_36 = this->symtab_->first_global_index_;
  var_4 = (pIVar4->inputs_).
             super__Vector_base<var_1::Incremental_input_entry*,var_2::var_26<var_1::Incremental_input_entry*>var_3>
             ._M_impl._M_start;
  if ((pIVar4->inputs_).
      super__Vector_base<var_1::Incremental_input_entry*,var_2::var_26<var_1::Incremental_input_entry*>var_3>
      ._M_impl._M_finish == var_4) {
    return (type_11 *)(type_2 *)pov;
  }
LAB_0019f550:
  iVar11 = (*(*var_4)->_vptr_Incremental_input_entry[2])();
  var_6 = (int)pov;
  var_7 = (int)oview;
  switch(iVar11) {
  default:
                    /* WARNING: Subroutine does not return */
    var_5("../../gold/incremental.cc",0x6f2,"write_info_blocks");
  case 1:
  case 2:
    if ((*var_4)->info_offset_ != var_6 - var_7) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x616,"write_info_blocks");
    }
    var_6 = (*(*var_4)->_vptr_Incremental_input_entry[4])();
    var_9 = var_8(extraout_var_04,var_6);
    if (var_9 == 0) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x618,"write_info_blocks");
    }
    var_34 = *(type_4 **)(var_9 + 0x38);
    var_6 = (*var_34->_vptr_Object[0x1d])(var_34);
    plVar18 = (long *)var_8(extraout_var_05,var_6);
    var_6 = (int)(*(long *)(var_9 + 0x50) - *(long *)(var_9 + 0x48) >> 3);
    var_12 = var_6 * -0x55555555;
    var_13 = plVar18[1];
    var_14 = *plVar18;
    var_29 = var_34->_vptr_Object[0x25];
    if (var_29 == var_28::local_symbol_offset) {
      var_16 = (*var_34->_vptr_Object[0x31])();
    }
    else {
      var_16 = (*var_29)(var_34);
    }
    var_29 = var_34->_vptr_Object[0x24];
    if (var_29 == var_28::output_local_symbol_count) {
      var_10 = (*var_34->_vptr_Object[0x30])();
    }
    else {
      var_10 = (*var_29)(var_34);
    }
    var_11 = *(type_2 *)&var_34[2]._vptr_Object;
    var_15 = *(type_2 *)((long)&var_34[2]._vptr_Object + 4);
    var_22 = 0;
    var_17 = *(long *)(var_9 + 0x68);
    var_18 = *(long *)(var_9 + 0x60);
    *(type_2 *)((long)pov + 0xc) =
         var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_10 << 0x18;
    *(type_2 *)((long)pov + 0x10) =
         var_11 >> 0x18 | (var_11 & 0xff0000) >> 8 | (var_11 & 0xff00) << 8 | var_11 << 0x18;
    *(type_2 *)pov = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                   var_6 * -0x55000000;
    var_19 = (type_2)(var_13 - var_14 >> 3);
    *(type_2 *)((long)pov + 0x14) =
         var_15 >> 0x18 | (var_15 & 0xff0000) >> 8 | (var_15 & 0xff00) << 8 | var_15 << 0x18;
    *(type_2 *)((long)pov + 8) =
         var_16 >> 0x18 | (var_16 & 0xff0000) >> 8 | (var_16 & 0xff00) << 8 | var_16 << 0x18;
    var_16 = (type_2)(var_17 - var_18 >> 3);
    var_32 = (type_2 *)((long)pov + 0x20);
    *(type_2 *)((long)pov + 4) =
         var_19 >> 0x18 | (var_19 & 0xff0000) >> 8 | (var_19 & 0xff00) << 8 | var_19 << 0x18
    ;
    *(type_2 *)((long)pov + 0x18) =
         var_16 >> 0x18 | (var_16 & 0xff0000) >> 8 | (var_16 & 0xff00) << 8 | var_16 << 0x18;
    *(type_2 *)((long)pov + 0x1c) = 0;
    __s = var_20((type_7)var_34->shnum_ << 2);
    var_21(__s,0,(type_7)var_34->shnum_ << 2);
    var_23 = var_32;
    if (var_12 != 0) {
      do {
        var_22 = var_22 + 1;
        var_11 = 0;
        var_23 = (type_2 *)((long)var_32 + *(long *)(var_9 + 0x48) + (-0x20 - (long)pov));
        var_10 = *var_23;
        var_24 = (type_7)var_10;
        var_25 = *(type_7 *)(var_23 + 2);
        *(type_2 *)((long)__s + var_24 * 4) = var_22;
        if (var_25 != 0) {
          if ((strtab->key_to_offset_).size_ < var_25) goto LAB_0019ff72;
          var_11 = (type_2)*(type_12 *)
                          ((long)(strtab->key_to_offset_).chunks_.
                                 super__Vector_base<std::vector<var_27,var_2::var_26<var_27>var_3>,var_2::var_26<std::vector<var_27,var_2::var_26<var_27>var_3>var_3>var_3>
                                 ._M_impl._M_start[var_25 - 1 >> 0xd].
                                 super__Vector_base<var_27,var_2::var_26<var_27>var_3>._M_impl.
                                 _M_start + (type_7)((type_2)(var_25 - 1) & 0x1fff) * 8);
        }
        if (var_34->_vptr_Object[0x18] == var_28::do_output_section) {
          if ((type_7)((long)var_34[1].name_._M_dataplus._M_p - (long)var_34[1]._vptr_Object >> 3) <=
              var_24) {
                    /* WARNING: Subroutine does not return */
            var_5("../../gold/object.h",0x5c8,"do_output_section");
          }
          var_29 = var_34[1]._vptr_Object[var_24];
        }
        else {
          var_6 = (*var_34->_vptr_Object[0x18])(var_34);
          var_29 = (type_10 *)var_8(extraout_var_07,var_6);
        }
        if (var_29 == (type_10 *)0x0) {
          var_10 = 0;
          var_25 = 0;
          var_24 = 0;
        }
        else {
          if (*(type_13 **)(*(long *)var_29 + 0x58) == var_30::do_out_shndx) {
            var_15 = *(type_2 *)(var_29 + 0x7c);
            if (var_15 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              var_5("../../gold/output.h",0x1043,"do_out_shndx");
            }
          }
          else {
            var_15 = (**(type_13 **)(*(long *)var_29 + 0x58))(var_29);
          }
          var_10 = (*var_34->_vptr_Object[0x1a])(var_34,(type_7)var_10);
          var_25 = (type_7)(var_31 >> 0x18) |
                   (((type_7)var_31 & 0xff0000) << 0x20) >> 0x28 |
                   (((type_7)var_31 & 0xff00) << 0x20) >> 0x18 |
                   (((type_7)var_31 & 0xff) << 0x20) >> 8 |
                   ((type_7)var_10 & 0xff000000) << 8 | ((type_7)var_10 & 0xff0000) << 0x18 |
                   ((type_7)var_10 & 0xff00) << 0x28 | (type_7)var_10 << 0x38;
          var_24 = *(type_7 *)((long)var_32 + *(long *)(var_9 + 0x48) + 0x10 + (-0x20 - (long)pov))
          ;
          var_10 = var_15 >> 0x18 | (var_15 & 0xff0000) >> 8 | (var_15 & 0xff00) << 8 |
                   var_15 << 0x18;
          var_24 = var_24 >> 0x38 | (var_24 & 0xff000000000000) >> 0x28 |
                   (var_24 & 0xff0000000000) >> 0x18 | (var_24 & 0xff00000000) >> 8 |
                   (var_24 & 0xff000000) << 8 | (var_24 & 0xff0000) << 0x18 |
                   (var_24 & 0xff00) << 0x28 | var_24 << 0x38;
        }
        var_32[1] = var_10;
        var_23 = var_32 + 6;
        *var_32 = var_11 >> 0x18 | (var_11 & 0xff0000) >> 8 | (var_11 & 0xff00) << 8 |
                   var_11 << 0x18;
        *(type_7 *)(var_32 + 2) = var_25;
        *(type_7 *)(var_32 + 4) = var_24;
        var_32 = var_23;
      } while (var_22 != var_12);
    }
    if (var_19 != 0) {
      var_32 = var_23;
      var_25 = 0;
      do {
        var_41 = *(type_9 **)(*plVar18 + var_25 * 8);
        if ((var_41->field_0x3a & 0x10) != 0) {
          var_41 = Symbol_table::var_33(this->symtab_,var_41);
        }
        if ((var_41->field_0x3a & 7) == 0) {
          if (var_34 == (var_41->u1_).object) {
            var_12 = (var_41->u2_).shndx;
            if ((var_41->field_0x3b & 0x20) == 0) {
              bVar10 = type_9::var_35(var_12);
              if (!bVar10) {
                if ((var_41->field_0x3a & 7) != 0) {
                    /* WARNING: Subroutine does not return */
                  var_5("../../gold/symtab.h",0xaa,"shndx");
                }
                var_12 = (var_41->u2_).shndx;
                if ((var_41->field_0x3b & 0x20) == 0) {
                  var_12 = 1;
                  goto LAB_0019fc56;
                }
                goto LAB_0019fd71;
              }
            }
            else if (var_12 != 0) {
LAB_0019fd71:
              var_12 = *(type_2 *)((long)__s + (type_7)var_12 * 4);
              goto LAB_0019fc56;
            }
          }
LAB_0019fd3a:
          var_10 = var_41->symtab_index_;
          var_12 = 0;
        }
        else {
          if ((var_41->field_0x3c & 4) != 0) goto LAB_0019fd3a;
          var_12 = -(type_2)((type_1)var_41->field_0x3b >> 3 & 1 ^ 1);
LAB_0019fc56:
          var_10 = var_41->symtab_index_;
        }
        if (var_10 == 0) {
LAB_0019fd47:
                    /* WARNING: Subroutine does not return */
          var_5("../../gold/symtab.h",0x180,"symtab_index");
        }
        if (var_34->_vptr_Object[0x20] == var_28::do_get_incremental_reloc_count) {
          var_11 = (&(var_34[1].xindex_)->large_shndx_offset_)[var_25];
        }
        else {
          var_11 = (*var_34->_vptr_Object[0x20])(var_34);
        }
        if (var_11 == 0) {
          var_22 = 0;
          var_15 = 0;
        }
        else {
          if ((var_10 == 0xffffffff) || (var_22 = var_10 - var_36, var_37 <= var_22)) {
                    /* WARNING: Subroutine does not return */
            var_5("../../gold/incremental.cc",0x678,"write_info_blocks");
          }
          if (var_34->_vptr_Object[0x1f] == var_28::do_get_incremental_reloc_base) {
            var_6 = *(int *)(&((var_34[1].compressed_sections_)->_M_t)._M_impl.field_0x0 +
                             var_25 * 4);
          }
          else {
            var_6 = (*var_34->_vptr_Object[0x1f])(var_34,var_25 & 0xffffffff);
          }
          var_15 = var_6 * 0x18;
          var_15 = var_15 >> 0x18 | (var_15 & 0xff0000) >> 8 | (var_15 & 0xff00) << 8 |
                   var_6 * 0x18000000;
          var_38 = global_syms[var_22];
          global_syms[var_22] = (int)var_32 - var_7;
          var_22 = var_38 >> 0x18 | (var_38 & 0xff0000) >> 8 | (var_38 & 0xff00) << 8 | var_38 << 0x18;
        }
        var_32[4] = var_15;
        *var_32 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 |
                   var_10 << 0x18;
        var_23 = var_32 + 5;
        var_32[1] = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                     var_12 << 0x18;
        var_32[2] = var_22;
        var_32[3] = var_11 >> 0x18 | (var_11 & 0xff0000) >> 8 | (var_11 & 0xff00) << 8 |
                     var_11 << 0x18;
        bVar10 = var_19 - 1 != var_25;
        var_32 = var_23;
        var_25 = var_25 + 1;
      } while (bVar10);
    }
    if (var_16 == 0) {
      var_39(__s);
      pov = (type_11 *)var_23;
    }
    else {
      var_40 = *(type_7 **)(var_9 + 0x60);
      pov = (type_11 *)(var_23 + (type_7)(var_16 - 1) + 1);
      do {
        while (var_25 = *var_40, var_25 != 0) {
          if ((strtab->key_to_offset_).size_ < var_25) goto LAB_0019ff72;
          var_32 = var_23 + 1;
          var_40 = var_40 + 1;
          var_12 = (type_2)*(type_12 *)
                          ((long)(strtab->key_to_offset_).chunks_.
                                 super__Vector_base<std::vector<var_27,var_2::var_26<var_27>var_3>,var_2::var_26<std::vector<var_27,var_2::var_26<var_27>var_3>var_3>var_3>
                                 ._M_impl._M_start[var_25 - 1 >> 0xd].
                                 super__Vector_base<var_27,var_2::var_26<var_27>var_3>._M_impl.
                                 _M_start + (type_7)((type_2)(var_25 - 1) & 0x1fff) * 8);
          *var_23 = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                     var_12 << 0x18;
          var_23 = var_32;
          if (var_32 == (type_2 *)pov) goto LAB_0019fed8;
        }
        *var_23 = 0;
        var_23 = var_23 + 1;
        var_40 = var_40 + 1;
      } while (var_23 != (type_2 *)pov);
LAB_0019fed8:
      var_39(__s);
    }
    break;
  case 3:
    if ((*var_4)->info_offset_ != var_6 - var_7) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x6d4,"write_info_blocks");
    }
    var_6 = (*(*var_4)->_vptr_Incremental_input_entry[6])();
    var_9 = var_8(extraout_var_03,var_6);
    if (var_9 == 0) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x6d6,"write_info_blocks");
    }
    var_13 = *(long *)(var_9 + 0x38);
    var_32 = (type_2 *)((long)pov + 8);
    var_40 = *(type_7 **)(var_9 + 0x50);
    var_14 = *(long *)(var_9 + 0x58);
    var_12 = (type_2)(*(long *)(var_9 + 0x40) - var_13 >> 3);
    *(type_2 *)pov = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                   var_12 << 0x18;
    var_16 = (type_2)(var_14 - (long)var_40 >> 3);
    *(type_2 *)((long)pov + 4) =
         var_16 >> 0x18 | (var_16 & 0xff0000) >> 8 | (var_16 & 0xff00) << 8 | var_16 << 0x18;
    if (var_12 != 0) {
      var_25 = 0;
      do {
        var_10 = *(type_2 *)(*(long *)(var_13 + var_25 * 8) + 0x14);
        *(type_2 *)((long)pov + (var_25 + 2) * 4) =
             var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_10 << 0x18;
        bVar10 = var_12 - 1 != var_25;
        var_25 = var_25 + 1;
      } while (bVar10);
      var_32 = var_32 + (type_7)(var_12 - 1) + 1;
    }
    pov = (type_11 *)var_32;
    if (var_16 != 0) {
      var_25 = *var_40;
      var_24 = (strtab->key_to_offset_).size_;
      if (var_24 < var_25) goto LAB_0019ff72;
      pov = (type_11 *)(var_32 + (type_7)(var_16 - 1) + 1);
      pvVar7 = (strtab->key_to_offset_).chunks_.
               super__Vector_base<std::vector<var_27,var_2::var_26<var_27>var_3>,var_2::var_26<std::vector<var_27,var_2::var_26<var_27>var_3>var_3>var_3>
               ._M_impl._M_start;
      while( true ) {
        var_40 = var_40 + 1;
        var_12 = (type_2)*(type_12 *)
                        ((long)pvVar7[var_25 - 1 >> 0xd].
                               super__Vector_base<var_27,var_2::var_26<var_27>var_3>._M_impl.
                               _M_start + (type_7)((type_2)(var_25 - 1) & 0x1fff) * 8);
        *var_32 = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                   var_12 << 0x18;
        if (var_32 + 1 == (type_2 *)pov) break;
        var_25 = *var_40;
        var_32 = var_32 + 1;
        if (var_24 < var_25) goto LAB_0019ff72;
      }
    }
    break;
  case 4:
    if ((*var_4)->info_offset_ != var_6 - var_7) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x69a,"write_info_blocks");
    }
    var_6 = (*(*var_4)->_vptr_Incremental_input_entry[5])();
    var_9 = var_8(extraout_var_00,var_6);
    if (var_9 == 0) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x69c,"write_info_blocks");
    }
    var_34 = *(type_4 **)(var_9 + 0x40);
    var_6 = (*var_34->_vptr_Object[4])();
    if ((type_8 *)var_8(extraout_var_01,var_6) == (type_8 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x69f,"write_info_blocks");
    }
    var_7 = (*var_34->_vptr_Object[0x1d])();
    plVar18 = (long *)var_8(extraout_var_02,var_7);
    if ((strtab->key_to_offset_).size_ < *(type_7 *)(var_9 + 0x38)) {
LAB_0019ff72:
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/stringpool.h",0x108,"get_offset_from_key");
    }
    var_25 = *(type_7 *)(var_9 + 0x38) - 1;
    var_32 = (type_2 *)((long)pov + 8);
    var_9 = plVar18[1];
    var_12 = (type_2)*(type_12 *)
                    ((long)(strtab->key_to_offset_).chunks_.
                           super__Vector_base<std::vector<var_27,var_2::var_26<var_27>var_3>,var_2::var_26<std::vector<var_27,var_2::var_26<var_27>var_3>var_3>var_3>
                           ._M_impl._M_start[var_25 >> 0xd].
                           super__Vector_base<var_27,var_2::var_26<var_27>var_3>._M_impl._M_start
                    + (type_7)((type_2)var_25 & 0x1fff) * 8);
    *(type_2 *)pov = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                   var_12 << 0x18;
    var_13 = *plVar18;
    var_12 = (type_2)(var_9 - var_13 >> 3);
    if (var_12 != 0) {
      var_9 = 0;
      var_16 = 0;
      var_23 = var_32;
      do {
        var_41 = *(type_9 **)(var_13 + var_9);
        var_32 = var_23;
        if (var_41 != (type_9 *)0x0) {
          if ((var_41->field_0x3a & 0x10) != 0) {
            var_41 = Symbol_table::var_33(this->symtab_,var_41);
          }
          var_10 = var_41->symtab_index_;
          if (var_10 == 0) goto LAB_0019fd47;
          if (var_10 != 0xffffffff) {
            if (((type_1)var_41->field_0x39 & 3) - 1 < 2) {
              var_10 = var_10 | 0x80000000;
            }
            else {
              if (((var_41->field_0x3a & 7) == 0) && (var_34 == (var_41->u1_).object)) {
                var_42 = var_41->field_0x3b;
                if ((var_42 & 0x20) != 0) {
                  var_10 = var_10 | 0x80000000;
                  if ((var_41->u2_).shndx != 0) goto LAB_0019f725;
LAB_0019ff09:
                  if ((var_42 & 8) != 0) goto LAB_0019f792;
                  goto LAB_0019f7ae;
                }
                bVar10 = type_9::var_35((var_41->u2_).shndx);
                var_10 = 0x80000000;
                if (bVar10) {
                  var_42 = var_41->field_0x3b;
                  goto LAB_0019ff09;
                }
              }
              else {
                if ((var_41->field_0x3b & 8) == 0) goto LAB_0019f725;
LAB_0019f792:
                var_44 = Symbol_table::var_43(this->symtab_,var_41);
                if (var_44 == (type_8 *)var_8(extraout_var_01,var_6)) {
                  var_10 = 0xc0000000;
                }
                else {
LAB_0019f7ae:
                  var_10 = 0;
                }
              }
              if (var_41->symtab_index_ == 0) goto LAB_0019fd47;
              var_10 = var_41->symtab_index_ | var_10;
            }
LAB_0019f725:
            var_32 = var_23 + 1;
            *var_23 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 |
                       var_10 << 0x18;
            var_16 = var_16 + 1;
          }
        }
        if ((type_7)(var_12 - 1) * 8 - var_9 == 0) goto LAB_0019fe30;
        var_13 = *plVar18;
        var_9 = var_9 + 8;
        var_23 = var_32;
      } while( true );
    }
    goto LAB_0019fe3e;
  case 5:
    if ((*var_4)->info_offset_ != var_6 - var_7) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x5ff,"write_info_blocks");
    }
    var_6 = (*(*var_4)->_vptr_Incremental_input_entry[3])();
    var_9 = var_8(extraout_var,var_6);
    if (var_9 == 0) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/incremental.cc",0x601,"write_info_blocks");
    }
    var_13 = *(long *)(var_9 + 0x38);
    var_32 = (type_2 *)((long)pov + 4);
    var_25 = *(long *)(var_9 + 0x40) - var_13 >> 3;
    var_12 = (type_2)var_25;
    *(type_2 *)pov = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 |
                   var_12 << 0x18;
    pov = (type_11 *)var_32;
    if (var_12 != 0) {
      var_24 = 0;
      while( true ) {
        var_16 = *(type_2 *)(*(long *)(var_13 + var_24 * 8) + 0x14);
        *var_32 = var_16 >> 0x18 | (var_16 & 0xff0000) >> 8 | (var_16 & 0xff00) << 8 |
                   var_16 << 0x18;
        pov = (type_11 *)(var_32 + 1);
        if (var_12 - 1 == var_24) break;
        var_24 = var_24 + 1;
        var_32 = var_32 + 1;
        if (var_25 == var_24) {
                    /* WARNING: Subroutine does not return */
          var_5("../../gold/incremental.h",0x149,"get_object");
        }
      }
    }
  }
  goto LAB_0019f5f4;
LAB_0019fe30:
  var_12 = var_16 >> 0x18 | (var_16 & 0xff0000) >> 8 | (var_16 & 0xff00) << 8 | var_16 << 0x18;
LAB_0019fe3e:
  *(type_2 *)((long)pov + 4) = var_12;
  pov = (type_11 *)var_32;
LAB_0019f5f4:
  if (((long)pov - (long)oview & 4U) != 0) {
    *(type_2 *)pov = 0;
    pov = (type_11 *)((long)pov + 4);
  }
  var_4 = var_4 + 1;
  if ((pIVar4->inputs_).
      super__Vector_base<var_1::Incremental_input_entry*,var_2::var_26<var_1::Incremental_input_entry*>var_3>
      ._M_impl._M_finish == var_4) {
    return pov;
  }
  goto LAB_0019f550;
}


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

uint * MASKED(long param_1,long param_2,uint *param_3,long param_4,long param_5,uint param_6)

{
  byte bVar1;
  int iVar2;
  long *plVar3;
  long *plVar4;
  code *pcVar5;
  long lVar6;
  int iVar7;
  char cVar8;
  undefined4 uVar9;
  uint uVar10;
  uint uVar11;
  int iVar12;
  long lVar13;
  ulong uVar14;
  long lVar15;
  long *plVar16;
  long lVar17;
  void *__s;
  uint *puVar18;
  long lVar19;
  long *plVar20;
  ulong uVar21;
  ulong *puVar22;
  uint *puVar23;
  uint uVar24;
  uint uVar25;
  uint uVar26;
  uint uVar27;
  bool bVar28;
  long *local_88;
  uint local_68;
  
  plVar3 = *(long **)(param_1 + 0x38);
  iVar2 = *(int *)(*(long *)(param_1 + 0x40) + 8);
  local_88 = (long *)*plVar3;
  if ((long *)plVar3[1] == local_88) {
    return param_3;
  }
LAB_0019f550:
  uVar9 = (**(code **)(*(long *)*local_88 + 0x10))();
  iVar12 = (int)param_3;
  iVar7 = (int)param_2;
  switch(uVar9) {
  default:
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/incremental.cc",0x6f2,"write_info_blocks");
  case 1:
  case 2:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x616,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x20))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x618,"write_info_blocks");
    }
    plVar4 = *(long **)(lVar13 + 0x38);
    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))(plVar4);
    iVar12 = (int)(*(long *)(lVar13 + 0x50) - *(long *)(lVar13 + 0x48) >> 3);
    uVar27 = iVar12 * -0x55555555;
    lVar15 = plVar16[1];
    lVar19 = *plVar16;
    pcVar5 = *(code **)(*plVar4 + 0x128);
    if (pcVar5 == FUN_001550d0) {
      uVar25 = (**(code **)(*plVar4 + 0x188))();
    }
    else {
      uVar25 = (*pcVar5)(plVar4);
    }
    pcVar5 = *(code **)(*plVar4 + 0x120);
    if (pcVar5 == FUN_001550c0) {
      uVar10 = (**(code **)(*plVar4 + 0x180))();
    }
    else {
      uVar10 = (*pcVar5)(plVar4);
    }
    uVar11 = *(uint *)(plVar4 + 0x14);
    uVar24 = *(uint *)((long)plVar4 + 0xa4);
    uVar26 = 0;
    lVar17 = *(long *)(lVar13 + 0x68);
    lVar6 = *(long *)(lVar13 + 0x60);
    param_3[3] = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18
    ;
    param_3[4] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 | uVar11 << 0x18
    ;
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
               iVar12 * -0x55000000;
    local_68 = (uint)(lVar15 - lVar19 >> 3);
    param_3[5] = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 | uVar24 << 0x18
    ;
    param_3[2] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18
    ;
    uVar25 = (uint)(lVar17 - lVar6 >> 3);
    puVar23 = param_3 + 8;
    param_3[1] = local_68 >> 0x18 | (local_68 & 0xff0000) >> 8 | (local_68 & 0xff00) << 8 |
                 local_68 << 0x18;
    param_3[6] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18
    ;
    param_3[7] = 0;
    __s = (void *)thunk_FUN_002d9490((ulong)*(uint *)(plVar4 + 7) << 2);
    memset(__s,0,(ulong)*(uint *)(plVar4 + 7) << 2);
    puVar18 = puVar23;
    if (uVar27 != 0) {
      do {
        uVar26 = uVar26 + 1;
        uVar11 = 0;
        puVar18 = (uint *)((long)puVar23 + *(long *)(lVar13 + 0x48) + (-0x20 - (long)param_3));
        uVar10 = *puVar18;
        uVar14 = (ulong)uVar10;
        uVar21 = *(ulong *)(puVar18 + 2);
        *(uint *)((long)__s + uVar14 * 4) = uVar26;
        if (uVar21 != 0) {
          if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;
          uVar11 = (uint)*(undefined8 *)
                          (*(long *)((uVar21 - 1 >> 0xd) * 0x18 + *(long *)(param_4 + 0x38)) +
                          (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);
        }
        if (*(code **)(*plVar4 + 0xc0) == FUN_00156120) {
          if ((ulong)(plVar4[0xb] - plVar4[10] >> 3) <= uVar14) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/object.h",0x5c8,"do_output_section");
          }
          plVar20 = *(long **)(plVar4[10] + uVar14 * 8);
        }
        else {
          plVar20 = (long *)(**(code **)(*plVar4 + 0xc0))(plVar4);
        }
        if (plVar20 == (long *)0x0) {
          uVar10 = 0;
          uVar21 = 0;
          uVar14 = 0;
        }
        else {
          if (*(code **)(*plVar20 + 0x58) == FUN_001869e0) {
            uVar24 = *(uint *)((long)plVar20 + 0x7c);
            if (uVar24 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
              FUN_0017c650("../../gold/output.h",0x1043,"do_out_shndx");
            }
          }
          else {
            uVar24 = (**(code **)(*plVar20 + 0x58))(plVar20);
          }
          uVar21 = (**(code **)(*plVar4 + 0xd0))(plVar4,uVar10);
          uVar21 = uVar21 >> 0x38 | (uVar21 & 0xff000000000000) >> 0x28 |
                   (uVar21 & 0xff0000000000) >> 0x18 | (uVar21 & 0xff00000000) >> 8 |
                   (uVar21 & 0xff000000) << 8 | (uVar21 & 0xff0000) << 0x18 |
                   (uVar21 & 0xff00) << 0x28 | uVar21 << 0x38;
          uVar14 = *(ulong *)((long)puVar23 +
                             *(long *)(lVar13 + 0x48) + 0x10 + (-0x20 - (long)param_3));
          uVar10 = uVar24 >> 0x18 | (uVar24 & 0xff0000) >> 8 | (uVar24 & 0xff00) << 8 |
                   uVar24 << 0x18;
          uVar14 = uVar14 >> 0x38 | (uVar14 & 0xff000000000000) >> 0x28 |
                   (uVar14 & 0xff0000000000) >> 0x18 | (uVar14 & 0xff00000000) >> 8 |
                   (uVar14 & 0xff000000) << 8 | (uVar14 & 0xff0000) << 0x18 |
                   (uVar14 & 0xff00) << 0x28 | uVar14 << 0x38;
        }
        puVar23[1] = uVar10;
        puVar18 = puVar23 + 6;
        *puVar23 = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                   uVar11 << 0x18;
        *(ulong *)(puVar23 + 2) = uVar21;
        *(ulong *)(puVar23 + 4) = uVar14;
        puVar23 = puVar18;
      } while (uVar26 != uVar27);
    }
    if (local_68 != 0) {
      puVar23 = puVar18;
      uVar21 = 0;
      do {
        lVar15 = *(long *)(*plVar16 + uVar21 * 8);
        if ((*(byte *)(lVar15 + 0x3a) & 0x10) != 0) {
          lVar15 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40));
        }
        if ((*(byte *)(lVar15 + 0x3a) & 7) == 0) {
          if (plVar4 == *(long **)(lVar15 + 0x10)) {
            uVar27 = *(uint *)(lVar15 + 0x18);
            if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {
              cVar8 = FUN_00270fe0();
              if (cVar8 == '\0') {
                if ((*(byte *)(lVar15 + 0x3a) & 7) != 0) {
                    /* WARNING: Subroutine does not return */
                  FUN_0017c650("../../gold/symtab.h",0xaa,"shndx");
                }
                uVar27 = *(uint *)(lVar15 + 0x18);
                if ((*(byte *)(lVar15 + 0x3b) & 0x20) == 0) {
                  uVar27 = 1;
                  goto LAB_0019fc56;
                }
                goto LAB_0019fd71;
              }
            }
            else if (uVar27 != 0) {
LAB_0019fd71:
              uVar27 = *(uint *)((long)__s + (ulong)uVar27 * 4);
              goto LAB_0019fc56;
            }
          }
LAB_0019fd3a:
          uVar10 = *(uint *)(lVar15 + 0x1c);
          uVar27 = 0;
        }
        else {
          if ((*(byte *)(lVar15 + 0x3c) & 4) != 0) goto LAB_0019fd3a;
          uVar27 = -(uint)(*(byte *)(lVar15 + 0x3b) >> 3 & 1 ^ 1);
LAB_0019fc56:
          uVar10 = *(uint *)(lVar15 + 0x1c);
        }
        if (uVar10 == 0) {
LAB_0019fd47:
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/symtab.h",0x180,"symtab_index");
        }
        if (*(code **)(*plVar4 + 0x100) == FUN_001550f0) {
          uVar11 = *(uint *)(plVar4[0x12] + uVar21 * 4);
        }
        else {
          uVar11 = (**(code **)(*plVar4 + 0x100))(plVar4);
        }
        if (uVar11 == 0) {
          uVar26 = 0;
          uVar24 = 0;
        }
        else {
          if ((uVar10 == 0xffffffff) || (uVar24 = uVar10 - iVar2, param_6 <= uVar24)) {
                    /* WARNING: Subroutine does not return */
            FUN_0017c650("../../gold/incremental.cc",0x678,"write_info_blocks");
          }
          if (*(code **)(*plVar4 + 0xf8) == FUN_001550e0) {
            iVar12 = *(int *)(plVar4[0x13] + uVar21 * 4);
          }
          else {
            iVar12 = (**(code **)(*plVar4 + 0xf8))(plVar4,uVar21 & 0xffffffff);
          }
          uVar26 = iVar12 * 0x18;
          puVar18 = (uint *)(param_5 + (ulong)uVar24 * 4);
          uVar24 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |
                   iVar12 * 0x18000000;
          uVar26 = *puVar18;
          *puVar18 = (int)puVar23 - iVar7;
          uVar26 = uVar26 >> 0x18 | (uVar26 & 0xff0000) >> 8 | (uVar26 & 0xff00) << 8 |
                   uVar26 << 0x18;
        }
        puVar23[4] = uVar24;
        *puVar23 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                   uVar10 << 0x18;
        puVar18 = puVar23 + 5;
        puVar23[1] = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                     uVar27 << 0x18;
        puVar23[2] = uVar26;
        puVar23[3] = uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                     uVar11 << 0x18;
        bVar28 = local_68 - 1 != uVar21;
        puVar23 = puVar18;
        uVar21 = uVar21 + 1;
      } while (bVar28);
    }
    if (uVar25 == 0) {
      thunk_FUN_002dac60(__s);
      param_3 = puVar18;
    }
    else {
      puVar22 = *(ulong **)(lVar13 + 0x60);
      param_3 = puVar18 + (ulong)(uVar25 - 1) + 1;
      do {
        while (uVar21 = *puVar22, uVar21 == 0) {
          *puVar18 = 0;
          puVar18 = puVar18 + 1;
          puVar22 = puVar22 + 1;
          if (puVar18 == param_3) goto LAB_0019fed8;
        }
        if (*(ulong *)(param_4 + 0x50) < uVar21) goto LAB_0019ff72;
        puVar23 = puVar18 + 1;
        puVar22 = puVar22 + 1;
        uVar27 = (uint)*(undefined8 *)
                        (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 - 1 >> 0xd) * 0x18) +
                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);
        *puVar18 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                   uVar27 << 0x18;
        puVar18 = puVar23;
      } while (puVar23 != param_3);
LAB_0019fed8:
      thunk_FUN_002dac60(__s);
    }
    break;
  case 3:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x6d4,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x30))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x6d6,"write_info_blocks");
    }
    lVar15 = *(long *)(lVar13 + 0x38);
    puVar23 = param_3 + 2;
    puVar22 = *(ulong **)(lVar13 + 0x50);
    lVar19 = *(long *)(lVar13 + 0x58);
    uVar27 = (uint)(*(long *)(lVar13 + 0x40) - lVar15 >> 3);
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    uVar25 = (uint)(lVar19 - (long)puVar22 >> 3);
    param_3[1] = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18
    ;
    if (uVar27 != 0) {
      uVar21 = 0;
      do {
        uVar10 = *(uint *)(*(long *)(lVar15 + uVar21 * 8) + 0x14);
        param_3[uVar21 + 2] =
             uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 | uVar10 << 0x18;
        bVar28 = uVar27 - 1 != uVar21;
        uVar21 = uVar21 + 1;
      } while (bVar28);
      puVar23 = puVar23 + (ulong)(uVar27 - 1) + 1;
    }
    param_3 = puVar23;
    if (uVar25 != 0) {
      uVar21 = *puVar22;
      uVar14 = *(ulong *)(param_4 + 0x50);
      if (uVar14 < uVar21) goto LAB_0019ff72;
      param_3 = puVar23 + (ulong)(uVar25 - 1) + 1;
      lVar13 = *(long *)(param_4 + 0x38);
      while( true ) {
        puVar22 = puVar22 + 1;
        uVar27 = (uint)*(undefined8 *)
                        (*(long *)(lVar13 + (uVar21 - 1 >> 0xd) * 0x18) +
                        (ulong)((uint)(uVar21 - 1) & 0x1fff) * 8);
        *puVar23 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 |
                   uVar27 << 0x18;
        if (puVar23 + 1 == param_3) break;
        uVar21 = *puVar22;
        puVar23 = puVar23 + 1;
        if (uVar14 < uVar21) goto LAB_0019ff72;
      }
    }
    break;
  case 4:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x69a,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x28))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x69c,"write_info_blocks");
    }
    plVar4 = *(long **)(lVar13 + 0x40);
    lVar15 = (**(code **)(*plVar4 + 0x20))();
    if (lVar15 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x69f,"write_info_blocks");
    }
    plVar16 = (long *)(**(code **)(*plVar4 + 0xe8))();
    if (*(ulong *)(param_4 + 0x50) < *(ulong *)(lVar13 + 0x38)) {
LAB_0019ff72:
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/stringpool.h",0x108,"get_offset_from_key");
    }
    uVar21 = *(ulong *)(lVar13 + 0x38) - 1;
    puVar23 = param_3 + 2;
    lVar13 = plVar16[1];
    uVar27 = (uint)*(undefined8 *)
                    (*(long *)(*(long *)(param_4 + 0x38) + (uVar21 >> 0xd) * 0x18) +
                    (ulong)((uint)uVar21 & 0x1fff) * 8);
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    lVar19 = *plVar16;
    uVar27 = (uint)(lVar13 - lVar19 >> 3);
    if (uVar27 != 0) {
      lVar13 = 0;
      uVar25 = 0;
      puVar18 = puVar23;
      do {
        lVar19 = *(long *)(lVar19 + lVar13);
        puVar23 = puVar18;
        if (lVar19 != 0) {
          if ((*(byte *)(lVar19 + 0x3a) & 0x10) != 0) {
            lVar19 = FUN_002713d0(*(undefined8 *)(param_1 + 0x40),lVar19);
          }
          uVar10 = *(uint *)(lVar19 + 0x1c);
          if (uVar10 == 0) goto LAB_0019fd47;
          if (uVar10 != 0xffffffff) {
            if ((*(byte *)(lVar19 + 0x39) & 3) - 1 < 2) {
              uVar10 = uVar10 | 0x80000000;
            }
            else {
              if (((*(byte *)(lVar19 + 0x3a) & 7) == 0) && (plVar4 == *(long **)(lVar19 + 0x10))) {
                bVar1 = *(byte *)(lVar19 + 0x3b);
                if ((bVar1 & 0x20) != 0) {
                  uVar10 = uVar10 | 0x80000000;
                  if (*(int *)(lVar19 + 0x18) != 0) goto LAB_0019f725;
LAB_0019ff09:
                  if ((bVar1 & 8) != 0) goto LAB_0019f792;
                  goto LAB_0019f7ae;
                }
                cVar8 = FUN_00270fe0();
                uVar10 = 0x80000000;
                if (cVar8 != '\0') {
                  bVar1 = *(byte *)(lVar19 + 0x3b);
                  goto LAB_0019ff09;
                }
              }
              else {
                if ((*(byte *)(lVar19 + 0x3b) & 8) == 0) goto LAB_0019f725;
LAB_0019f792:
                lVar17 = FUN_00271470(*(undefined8 *)(param_1 + 0x40),lVar19);
                if (lVar17 == lVar15) {
                  uVar10 = 0xc0000000;
                }
                else {
LAB_0019f7ae:
                  uVar10 = 0;
                }
              }
              if (*(uint *)(lVar19 + 0x1c) == 0) goto LAB_0019fd47;
              uVar10 = *(uint *)(lVar19 + 0x1c) | uVar10;
            }
LAB_0019f725:
            puVar23 = puVar18 + 1;
            *puVar18 = uVar10 >> 0x18 | (uVar10 & 0xff0000) >> 8 | (uVar10 & 0xff00) << 8 |
                       uVar10 << 0x18;
            uVar25 = uVar25 + 1;
          }
        }
        if ((ulong)(uVar27 - 1) * 8 - lVar13 == 0) goto LAB_0019fe30;
        lVar19 = *plVar16;
        lVar13 = lVar13 + 8;
        puVar18 = puVar23;
      } while( true );
    }
    goto LAB_0019fe3e;
  case 5:
    if ((int)((long *)*local_88)[3] != iVar12 - iVar7) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x5ff,"write_info_blocks");
    }
    lVar13 = (**(code **)(*(long *)*local_88 + 0x18))();
    if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/incremental.cc",0x601,"write_info_blocks");
    }
    lVar15 = *(long *)(lVar13 + 0x38);
    puVar23 = param_3 + 1;
    uVar21 = *(long *)(lVar13 + 0x40) - lVar15 >> 3;
    uVar27 = (uint)uVar21;
    *param_3 = uVar27 >> 0x18 | (uVar27 & 0xff0000) >> 8 | (uVar27 & 0xff00) << 8 | uVar27 << 0x18;
    param_3 = puVar23;
    if (uVar27 != 0) {
      uVar14 = 0;
      while( true ) {
        uVar25 = *(uint *)(*(long *)(lVar15 + uVar14 * 8) + 0x14);
        *puVar23 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 |
                   uVar25 << 0x18;
        param_3 = puVar23 + 1;
        if (uVar27 - 1 == uVar14) break;
        uVar14 = uVar14 + 1;
        puVar23 = puVar23 + 1;
        if (uVar21 == uVar14) {
                    /* WARNING: Subroutine does not return */
          FUN_0017c650("../../gold/incremental.h",0x149,"get_object");
        }
      }
    }
  }
  goto LAB_0019f5f4;
LAB_0019fe30:
  uVar27 = uVar25 >> 0x18 | (uVar25 & 0xff0000) >> 8 | (uVar25 & 0xff00) << 8 | uVar25 << 0x18;
LAB_0019fe3e:
  param_3[1] = uVar27;
  param_3 = puVar23;
LAB_0019f5f4:
  if (((long)param_3 - param_2 & 4U) != 0) {
    *param_3 = 0;
    param_3 = param_3 + 1;
  }
  local_88 = local_88 + 1;
  if ((long *)plVar3[1] == local_88) {
    return param_3;
  }
  goto LAB_0019f550;
}

