
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: uint get_got_page_offset(Mips_got_info<64,_false> * this, Mips_address
   value, Mips_output_data_got<64,_false> * got) */

uint __thiscall
anon_unknown.dwarf_29466b::Mips_got_info<64,_false>::get_got_page_offset
          (Mips_got_info<64,_false> *this,Mips_address value,Mips_output_data_got<64,_false> *got)

{
  bool bVar1;
  ushort uVar2;
  uint uVar3;
  uint *puVar4;
  int *piVar5;
  uint uVar6;
  _Hash_node_base *p_Var7;
  undefined4 uVar8;
  int iVar9;
  byte bVar10;
  _Hash_node_base *p_Var11;
  int iVar12;
  uint uVar13;
  _func_int_varargs **pp_Var14;
  int extraout_v1;
  uint extraout_v1_00;
  _Hash_node_base *p_Var15;
  _Hash_node_base *p_Var16;
  int iVar17;
  Mips_got_info<64,_false> *pMVar18;
  Mips_got_info<64,_false> *this_00;
  int iVar19;
  uint *puVar20;
  _Hash_node_base *p_Var21;
  __bucket_type p_Var22;
  Mips_output_data_got<64,_false> *pMVar23;
  Mips_output_data_got<64,_false> *got_00;
  Mips_output_data_got<64,_false> *pMVar24;
  int iVar25;
  uint uVar26;
  uint in_a2;
  undefined *puVar27;
  int iVar28;
  _Hash_node_base *p_Var29;
  int iVar30;
  __hash_code __code;
  _Hash_node_base *in_a3;
  _func_int_varargs *p_Var31;
  uint *puVar32;
  __bucket_type p_Var33;
  uint uVar34;
  __bucket_type p_Var35;
  Mips_output_data_got<64,_false> *pMVar36;
  uint uVar37;
  byte unaff_s0;
  uint uVar38;
  int *unaff_s1;
  uint *puVar39;
  code *pcVar40;
  int iVar41;
  uint uVar42;
  undefined *puVar43;
  code *pcVar44;
  longlong lVar45;
  undefined8 uVar46;
  undefined1 *apuStack_168 [2];
  undefined1 auStack_160 [16];
  undefined4 uStack_150;
  undefined4 uStack_14c;
  undefined4 uStack_148;
  undefined8 uStack_140;
  uint uStack_138;
  uint uStack_134;
  uint uStack_130;
  undefined4 *puStack_128;
  uint uStack_124;
  uint uStack_120;
  uint *puStack_11c;
  uint uStack_118;
  uint uStack_114;
  uint uStack_110;
  undefined4 uStack_10c;
  _Hash_node_base *p_Stack_108;
  uint *puStack_104;
  uint uStack_100;
  uint uStack_fc;
  int iStack_f8;
  _Hash_node_base *p_Stack_f4;
  int iStack_f0;
  uint uStack_ec;
  int iStack_e8;
  uint *puStack_e4;
  int iStack_e0;
  uint uStack_dc;
  _Hash_node_base *p_Stack_d8;
  int iStack_d4;
  uint uStack_a0;
  Mips_output_data_got<64,_false> *pMStack_9c;
  uint uStack_98;
  int iStack_94;
  Mips_got_info<64,_false> *pMStack_90;
  uint uStack_8c;
  uint uStack_88;
  uint in_stack_ffffff9c;
  undefined4 *puStack_5c;
  uint uStack_24;
  undefined1 local_20 [3];
  char cStack_1d;
  int iStack_1c;
  int iStack_18;
  
  uVar3 = (this->got_page_offsets_)._M_h._M_bucket_count;
  if (uVar3 == 0) {
    trap(7);
  }
  p_Var33 = (this->got_page_offsets_)._M_h._M_buckets[(uint)in_a3 % uVar3];
  if (p_Var33 != (__bucket_type)0x0) {
    p_Var11 = p_Var33->_M_nxt[1]._M_nxt;
    p_Var35 = p_Var33->_M_nxt;
    do {
      p_Var22 = p_Var35;
      if (in_a3 == p_Var11) {
        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {
          return (uint)p_Var33->_M_nxt[2]._M_nxt;
        }
        break;
      }
      p_Var35 = p_Var22->_M_nxt;
      if (p_Var35 == (_Hash_node_base *)0x0) break;
      p_Var11 = p_Var35[1]._M_nxt;
      if (uVar3 == 0) {
        trap(7);
      }
      p_Var33 = p_Var22;
    } while ((uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3);
  }
  uVar3 = this->got_page_offset_next_;
  if (uVar3 < this->page_gotno_ * 8 + this->got_page_offset_start_) {
    puVar4 = (uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20);
    iVar12 = *(int *)(value._0_4_ + 0x80);
    *puVar4 = uVar3;
    piVar5 = (int *)(iVar12 + uVar3);
    this->got_page_offset_next_ = this->got_page_offset_next_ + 8;
    *piVar5 = ((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +
              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000;
    piVar5[1] = (((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +
                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000;
    return uVar3;
  }
  pMVar23 = (Mips_output_data_got<64,_false> *)0x1871;
  puVar27 = PTR_s__s_004c1a50 + -0x37c0;
  pMVar18 = (Mips_got_info<64,_false> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588);
  p_Var11 = in_a3;
  puVar43 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)();
  puVar4 = (uint *)(puVar43 + 0x3c288c);
  uVar42 = pMVar18->local_gotno_;
  uVar37 = ((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10;
  uVar38 = uVar37 + ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;
  got_00 = (Mips_output_data_got<64,_false> *)
           &gold::Position_dependent_options::default_options_.relax_.user_set_via_option;
  if (cStack_1d != '\0') {
    p_Var11 = (_Hash_node_base *)(uVar37 * 0x10000);
    got_00 = (Mips_output_data_got<64,_false> *)0x0;
    uStack_24 = (int)&p_Var11->_M_nxt + iStack_1c;
  }
  uVar37 = *(uint *)(puVar27 + 8);
  if ((uVar37 & 1) == 0) {
    this_00 = *(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8);
    if ((int)(uVar37 << 0x1b) < 0) {
      this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);
      uVar6 = this_00->page_gotno_;
      if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&
         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {
        uStack_24 = 0;
        uVar6 = uVar34;
      }
      uVar34 = this_00->tls_ldm_offset_;
      if (uVar34 == 0) {
        trap(7);
      }
      pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);
      pcVar44 = *(code **)(puVar43 + 0x3bb19c);
      if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {
        pMVar24 = (Mips_output_data_got<64,_false> *)
                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.
                  super_Output_section_data_build.super_Output_section_data.super_Output_data.
                  _vptr_Output_data;
        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.
                           super_Output_section_data_build.super_Output_section_data.
                           super_Output_data.address_;
        do {
          got_00 = pMVar24;
          if (uVar6 == uVar13) {
            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.
                       super_Output_section_data_build.super_Output_section_data.super_Output_data.
                       _vptr_Output_data;
            pcVar44 = *(code **)(puVar43 + 0x3bb19c);
            if (pp_Var14 != (_func_int_varargs **)0x0) {
              p_Var31 = pp_Var14[5] + uStack_24;
              goto LAB_00106ac4;
            }
            break;
          }
          pMVar24 = (Mips_output_data_got<64,_false> *)
                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.
                    super_Output_section_data_build.super_Output_section_data.super_Output_data.
                    _vptr_Output_data;
          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {
            pcVar44 = *(code **)(puVar43 + 0x3bb19c);
            break;
          }
          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.
                             super_Output_section_data_build.super_Output_section_data.
                             super_Output_data.address_;
          if (uVar34 == 0) {
            trap(7);
          }
          pcVar44 = *(code **)(puVar43 + 0x3bb19c);
          pMVar36 = got_00;
        } while (uVar6 % uVar34 == uVar13 % uVar34);
      }
      got_00 = pMVar23;
      (*pcVar44)(this_00,pMVar23,uVar37 >> 5);
      p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);
      in_stack_ffffff9c = uVar6;
      goto LAB_00106ac4;
    }
  }
  else {
    p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14));
    this_00 = pMVar18;
LAB_00106ac4:
    iVar12 = *(int *)(iStack_18 + 0x14);
    p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000);
    if (iVar12 == 0) {
LAB_00106c58:
      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);
      (*pcVar44)();
LAB_00106c68:
      (*(pcVar44 + 0x7664))();
    }
    else {
      if (*(int *)(iVar12 + 0x8c) == 0) {
        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);
      }
      else {
        this_00 = *(Mips_got_info<64,_false> **)
                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.
                          super_Output_section_data_build.super_Output_section_data.
                          super_Output_data.offset_ + 4);
      }
      if (this_00 != (Mips_got_info<64,_false> *)0x0) {
        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);
        iVar12 = *(int *)(iStack_18 + 0x14);
        if (iVar12 == 0) goto LAB_00106c58;
        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);
        pcVar44 = *(code **)(puVar43 + 0x3bb098);
        if ((int)this_00 < 0) {
          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);
          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);
          if (iVar19 != 0) {
            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);
            iVar19 = *(int *)(iVar19 + 0x34);
            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&
               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base
                              .super_Output_section_data_build.super_Output_section_data.
                              super_Output_data.offset_, iVar12 != 0)) {
              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);
            }
            uVar37 = uVar37 - iVar19;
          }
          if (unaff_s0 == 0) {
            uVar38 = uVar38 ^ uVar37;
            pMVar18->local_gotno_ =
                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;
            uVar3 = 1;
            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {
              uVar3 = (uint)(0xffff < uVar37 + 0x8000);
            }
            return uVar3;
          }
          *unaff_s1 = (int)uVar37 >> 0x1f;
          unaff_s1[1] = uVar37;
          return 0;
        }
        goto LAB_00106c68;
      }
    }
    (*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))();
  }
  iVar19 = 0x6ab;
  pcVar44 = *(code **)(puVar43 + 0x3bb07c);
  iVar28 = *(int *)(puVar43 + 0x3bb09c) + -0x33e0;
  puVar20 = &this_00[0x71].index_;
  (*pcVar44)();
  iVar12 = *(int *)(iVar19 + 0x10);
  uVar6 = *(uint *)(iVar12 + 0x20);
  uVar37 = *(uint *)(iVar12 + 0x24);
  uVar13 = *(uint *)(iVar12 + 0x38);
  uVar34 = *(uint *)(iVar12 + 0x3c);
  iStack_94 = iStack_18;
  uStack_110 = uVar3;
  uStack_fc = in_a2;
  uStack_a0 = uVar38;
  pMStack_9c = pMVar23;
  uStack_98 = (uint)unaff_s0;
  pMStack_90 = pMVar18;
  uStack_8c = uVar42;
  uStack_88 = uStack_24;
  (**(code **)(pcVar44 + 0x3bb018))
            ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +
             ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000,
             (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
             ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000,
             (((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10) +
             ((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000,
             (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);
  uVar37 = *(uint *)(puVar43 + 0x3c2894);
  uVar42 = *puVar4;
  uVar38 = *(uint *)(puVar43 + 0x3c2890);
  uVar3 = (uint)(byte)puVar43[0x3c289b];
  p_Stack_108 = (_Hash_node_base *)
                ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +
                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000);
  uStack_120 = uVar3;
  p_Var29 = (_Hash_node_base *)
            ((((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +
            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000);
  iStack_f8 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +
              ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;
  p_Stack_f4 = p_Var29;
  if (iVar28 == 4) {
    uVar6 = *(uint *)(puVar43 + 0x3c289c);
    uVar42 = *(uint *)(puVar43 + 0x3c28a0);
    uVar37 = (uint)(byte)puVar43[0x3c289a];
    uVar38 = (uint)(byte)puVar43[0x3c2899];
    uStack_ec = (uint)(byte)puVar43[0x3c2898];
    uStack_114 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
    uStack_118 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +
                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;
    if (in_stack_ffffff9c + 1 < extraout_v1_00) {
      uVar6 = *(uint *)(puVar43 + 0x3c28a4);
      uVar42 = *(uint *)(puVar43 + 0x3c28a8);
      uStack_dc = (uint)(byte)puVar43[0x3c28b3];
      iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
      p_Stack_d8 = (_Hash_node_base *)
                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +
                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);
    }
    else {
      uStack_dc = 0;
      p_Stack_d8 = (_Hash_node_base *)0xffffffff;
      iStack_d4 = -1;
    }
LAB_00106dbc:
    iVar12 = *(int *)(iVar19 + 8);
    if (puStack_5c != (undefined4 *)0x0) goto LAB_00106dec;
LAB_00107020:
    uStack_140._4_4_ = (_Hash_node_base *)0x0;
    uStack_140._0_4_ = 0;
    uVar46 = 0;
    uStack_140 = 0;
    uStack_148 = 1;
    uStack_14c = 0xffffffff;
    uStack_150 = 0;
    if ((_Hash_node_base *)
        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +
        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108) goto LAB_0010b000;
    uVar42 = 1 << ((uint)p_Stack_108 & 0x1f);
    iVar25 = ((uint)p_Stack_108 >> 5) * 4;
    uStack_124 = *(uint *)(*(int *)(iVar12 + 0x14c) + iVar25);
    if ((_Hash_node_base *)
        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +
        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108) goto LAB_0010afdc;
    uVar6 = *(uint *)(*(int *)(iVar12 + 0x160) + iVar25);
    bVar1 = ((uStack_124 | uVar6) & uVar42) == 0;
    puVar4 = (uint *)(uint)((uVar42 & uVar6) != 0);
    if (bVar1) {
      puStack_104 = (uint *)0x0;
      puStack_11c = (uint *)0x0;
      puStack_128 = &uStack_150;
    }
    else {
      puStack_128 = &uStack_150;
      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);
      puStack_128 = &uStack_150;
      uVar42 = uVar42 & uStack_124;
      puStack_11c = (uint *)(uint)(uVar42 != 0);
      puStack_104 = (uint *)0x1;
    }
    puStack_104 = (uint *)(uint)!bVar1;
    if (uVar3 == 100) {
      iVar41 = *(int *)(iVar12 + 0x1dc);
      iVar30 = iVar12 + 0x1d8;
      iVar25 = iVar41;
      iVar17 = iVar30;
      if (iVar41 != 0) {
        do {
          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {
            iVar9 = *(int *)(iVar25 + 0xc);
          }
          else {
            iVar9 = *(int *)(iVar25 + 8);
            iVar17 = iVar25;
          }
          iVar25 = iVar9;
        } while (iVar9 != 0);
        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||
           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))
        goto LAB_001093fc;
        do {
          iVar17 = iVar41;
          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {
            iVar41 = *(int *)(iVar17 + 0xc);
            iVar17 = iVar25;
          }
          else {
            iVar41 = *(int *)(iVar17 + 8);
          }
          iVar25 = iVar17;
        } while (iVar41 != 0);
        iVar25 = *(int *)(pcVar44 + 0x3bae28);
        if (iVar30 == iVar17) goto LAB_001091e0;
        pcVar40 = (code *)(iVar25 + 9000);
        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;
        goto LAB_001091dc;
      }
      goto LAB_001093fc;
    }
    iVar25 = *(int *)(iVar12 + 0x1c4);
    iVar41 = iVar12 + 0x1c0;
    if (*(int *)(iVar12 + 0x1c4) != 0) {
      do {
        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {
          piVar5 = (int *)(iVar17 + 0xc);
          iVar25 = *piVar5;
          iVar17 = iVar41;
          if (*piVar5 == 0) goto LAB_00107154;
        }
        iVar25 = *(int *)(iVar17 + 8);
        iVar41 = iVar17;
      } while (*(int *)(iVar17 + 8) != 0);
LAB_00107154:
      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||
         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;
      goto LAB_00106f1c;
    }
LAB_00107170:
    uVar46 = uStack_140;
    if (uVar3 != 0x85) goto LAB_00107248;
LAB_00107178:
    if (puStack_11c == (uint *)0x0) goto LAB_00107184;
    goto LAB_0010725c;
  }
  if (extraout_v1_00 <= in_stack_ffffff9c + 1) {
    uStack_dc = 0;
    uVar38 = 0;
    uStack_118 = 0;
    uVar37 = 0;
    p_Stack_d8 = (_Hash_node_base *)0xffffffff;
    iStack_d4 = -1;
    uStack_114 = 0;
    uStack_ec = 0;
    goto LAB_00106dbc;
  }
  uVar42 = *(uint *)(puVar43 + 0x3c28a0);
  uVar6 = *(uint *)(puVar43 + 0x3c289c);
  uVar38 = 0;
  uVar37 = 0;
  uStack_118 = 0;
  uStack_114 = 0;
  uStack_dc = (uint)(byte)puVar43[0x3c28ab];
  uStack_ec = 0;
  p_Stack_d8 = (_Hash_node_base *)
               ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +
               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);
  iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
  iVar12 = *(int *)(iVar19 + 8);
  if (puStack_5c == (undefined4 *)0x0) goto LAB_00107020;
LAB_00106dec:
  uStack_140._4_4_ = (_Hash_node_base *)0x0;
  uStack_140._0_4_ = 0;
  uStack_148 = 1;
  uStack_14c = 0xffffffff;
  uStack_150 = 0;
  uVar6 = (uint)(puStack_5c[10] << 10) >> 0x1a;
  uVar34 = uVar6 & 0x3c;
  uVar42 = uVar34 ^ 0x3c;
  uVar6 = uVar6 & 0x30;
  puStack_11c = (uint *)(uint)(uVar42 == 0);
  puVar39 = (uint *)(uint)(uVar6 == 0x20);
  if (uVar34 == 0x3c) {
    pcVar40 = *(code **)(pcVar44 + 0x3baf38);
LAB_001076b4:
    puStack_128 = &uStack_150;
    p_Var29 = (_Hash_node_base *)0x0;
    lVar45 = (*pcVar40)(in_a3,iVar12,0,0);
    if (lVar45 == 0) goto LAB_00106e24;
    puStack_128 = &uStack_150;
    p_Var29 = (_Hash_node_base *)0x0;
    uVar46 = (*pcVar40)(in_a3,iVar12,0,0);
    uStack_140._0_4_ = (int)((ulonglong)uVar46 >> 0x20);
    uStack_140._4_4_ = (_Hash_node_base *)((uint)uVar46 | 1);
    puStack_104 = (uint *)0x1;
  }
  else {
    pcVar40 = *(code **)(pcVar44 + 0x3baf38);
    if (uVar6 == 0x20) goto LAB_001076b4;
LAB_00106e24:
    puStack_104 = (uint *)0x0;
  }
  puStack_128 = &uStack_150;
  iVar25 = 0;
  if (uVar3 - 1 < 0xf9) {
    iVar25 = (int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8);
  }
  iVar25 = (**(code **)(pcVar44 + 0x3bb01c))(puStack_5c,iVar25);
  uVar46 = CONCAT44(uStack_140._0_4_,uStack_140._4_4_);
  puVar4 = puVar39;
  if (iVar25 == 0) {
    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);
    if (*(char *)((int)puStack_5c + 0x5d) != '\0') {
LAB_00106e70:
      p_Var21 = p_Var11[0x18]._M_nxt;
      if (p_Var21 == (_Hash_node_base *)0x0) {
        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);
        (*pcVar40)();
      }
      else {
        pcVar40 = *(code **)(pcVar44 + 0x3badb0);
        if ((int)p_Var21[8]._M_nxt < 0) {
          uStack_140._4_4_ =
               (_Hash_node_base *)
               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +
               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);
          uStack_140._0_4_ =
               (int)&(p_Var21[2]._M_nxt)->_M_nxt +
               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);
          goto LAB_00106ea4;
        }
      }
      pcVar40 = pcVar40 + 0x7664;
      (*pcVar40)();
LAB_0010ae48:
      (*(pcVar40 + 0x4fac))();
      goto LAB_0010ae54;
    }
  }
  else {
    if (*(char *)((int)puStack_5c + 0x5d) != '\0') goto LAB_00106e70;
    p_Var21 = p_Var11[7]._M_nxt;
    if (puStack_5c[0x18] == -1) {
      pcVar40 = *(code **)(pcVar44 + 0x3badb0);
      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;
      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);
      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;
      pcVar40 = *(code **)(pcVar44 + 0x3badb0);
      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;
      p_Var29 = p_Var21[3]._M_nxt;
      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);
      p_Var7 = (_Hash_node_base *)
               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);
      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;
      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);
      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);
      uStack_140._0_4_ =
           (int)&(p_Var21[2]._M_nxt)->_M_nxt +
           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)
      ;
      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;
      puVar4 = puVar32;
      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {
        puVar4 = puVar39;
        puStack_11c = puVar32;
      }
    }
    else {
      pcVar40 = *(code **)(pcVar44 + 0x3badb0);
      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;
      puVar4 = (uint *)0x0;
      if (-1 < (int)p_Var21[8]._M_nxt) {
        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();
        goto LAB_0010ae1c;
      }
      puStack_11c = (uint *)0x0;
      p_Var7 = (_Hash_node_base *)
               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);
      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);
      p_Var29 = (_Hash_node_base *)
                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));
      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);
    }
LAB_00106ea4:
    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);
  }
  iVar25 = (**(code **)(pcVar44 + 0x3bedcc))(*puStack_5c,iVar25 + 0x359c);
  if (iVar25 == 0) {
    uStack_140 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12);
  }
  if (uVar3 == 100) {
    if (puStack_5c[0x1b] == 0) {
      if (puStack_5c[0x1c] == 0) goto LAB_00107960;
      puVar39 = puStack_11c;
      if (puStack_5c[6] == -1) goto LAB_0010afb0;
LAB_001091dc:
      iVar25 = *(int *)(pcVar44 + 0x3bae28);
LAB_001091e0:
      pcVar40 = (code *)(iVar25 + 9000);
    }
    else {
      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;
      iVar25 = *(int *)(pcVar44 + 0x3bae28);
      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;
      pcVar40 = (code *)(iVar25 + 9000);
      if (1 < *(uint *)(iVar12 + 0x28)) {
        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +
                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;
        uVar6 = 1;
        if (uVar34 < 2) goto LAB_0010aedc;
        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,
              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {
          iVar25 = *(int *)(pcVar44 + 0x3bae28);
          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;
          iVar25 = *(int *)(pcVar44 + 0x3badb4);
          if (uVar6 == uVar34) goto LAB_0010aee0;
        }
        goto LAB_001091dc;
      }
    }
LAB_001091e4:
    uVar46 = (*pcVar40)();
    puStack_104 = puVar4;
    if (puVar4 != (uint *)0x0) {
LAB_0010725c:
      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);
      uStack_140 = uVar46;
      goto LAB_00107260;
    }
    puStack_104 = (uint *)0x1;
    uStack_140 = uVar46;
LAB_00107248:
    uVar46 = uStack_140;
    if (uVar3 - 0x8b < 3) {
LAB_00107254:
      uStack_140 = uVar46;
      if (puStack_11c == (uint *)0x0) goto LAB_00107930;
      goto LAB_0010725c;
    }
  }
  else {
    if ((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))) {
      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];
      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;
      goto LAB_00107238;
    }
LAB_00106f1c:
    iVar41 = *(int *)(iVar19 + 0x18);
    iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41);
    if ((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))) {
      if (puStack_5c != (undefined4 *)0x0) {
        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;
        if (puStack_5c[0x11] == -1) {
          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))
                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);
          goto LAB_00107a7c;
        }
        p_Var29 = p_Var11[0x14]._M_nxt;
        pcVar40 = *(code **)(pcVar44 + 0x3badb0);
        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;
        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);
        if (puStack_104 != (uint *)0x0) {
          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);
          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +
                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);
          if (uVar3 == 0x85) {
            puStack_11c = (uint *)0x0;
            goto LAB_00107288;
          }
          goto LAB_00107914;
        }
LAB_0010afa0:
        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();
LAB_0010afb0:
        if (puVar39 == (uint *)0x0) {
          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);
          goto LAB_001091e4;
        }
LAB_00107960:
        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];
        if (p_Var29 == (_Hash_node_base *)0xffffffff) {
LAB_00107970:
          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;
          if (puStack_5c[6] == -1) {
            pcVar40 = *(code **)(pcVar44 + 0x3bb020);
            if (puVar4 == (uint *)0x0) goto LAB_0010728c;
            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);
            goto LAB_00107260;
          }
          iVar25 = puStack_5c[0x19];
          if (iVar25 == -1) goto LAB_001093fc;
          goto LAB_00107990;
        }
LAB_001071a8:
        if (*(int *)(iVar12 + 0x1f8) < 0) {
LAB_00107230:
          if (uVar3 == 100) goto LAB_00107970;
LAB_00107238:
          if (uVar3 != 0x85) goto LAB_00107248;
          uVar46 = uStack_140;
          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;
          if (puStack_5c[6] == -1) goto LAB_00107254;
          iVar25 = puStack_5c[0x19];
          if (iVar25 == -1) goto LAB_00107a28;
LAB_00107990:
          if (puStack_5c[0x18] == -1) goto LAB_00107a28;
          p_Var21 = p_Var11[7]._M_nxt;
          pcVar40 = *(code **)(pcVar44 + 0x3badb0);
          if (p_Var21 != (_Hash_node_base *)0x0) {
            p_Var29 = p_Var11;
            if ((int)p_Var21[8]._M_nxt < 0) {
              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);
              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;
              uVar34 = (int)&p_Var29->_M_nxt + uVar6;
              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +
                                    (uint)(uVar34 + iVar25 < uVar34) +
                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),
                                    uVar34 + iVar25);
              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;
              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;
              puStack_11c = (uint *)(uint)(uVar42 == 0);
              puVar4 = (uint *)(uint)(uVar42 != 0);
              goto LAB_00107a28;
            }
LAB_0010ae54:
            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);
            (*pcVar40)();
          }
          (*(pcVar40 + 0x4fac))();
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          puVar39 = puVar4;
          uVar46 = uStack_140;
LAB_0010ae80:
          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);
          uStack_140 = uVar46;
          (*pcVar40)();
          uVar46 = uStack_140;
LAB_0010ae90:
          uStack_140 = uVar46;
          (*(pcVar40 + 0x7664))();
          uVar46 = uStack_140;
LAB_0010ae9c:
          pcVar40 = *(code **)(pcVar44 + 0x3bad94);
          uStack_140 = uVar46;
          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);
          puVar4 = puVar39;
          uVar46 = uStack_140;
LAB_0010aeb4:
          uStack_140 = uVar46;
          (*(pcVar40 + 0x4fac))();
          (**(code **)(pcVar44 + 0x3bad94))
                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,
                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);
LAB_0010aedc:
          iVar25 = *(int *)(pcVar44 + 0x3badb4);
LAB_0010aee0:
          (**(code **)(pcVar44 + 0x3bad94))
                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);
          (*pcVar40)();
LAB_0010af28:
          (*(pcVar40 + 0x4f78))();
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          (**(code **)(pcVar44 + 0x3bad94))
                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,
                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
          goto LAB_0010afa0;
        }
        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);
        if (iVar25 == 0) goto LAB_00107230;
        p_Var21 = p_Var11[0x14]._M_nxt;
        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;
        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;
        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);
        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);
        uStack_140 = CONCAT44(iVar25,p_Var7);
        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {
          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);
          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);
        }
LAB_00107a28:
        if (uVar3 == 100) goto LAB_001093fc;
        uVar46 = uStack_140;
        if (uVar3 != 0x85) goto LAB_00107248;
        goto LAB_00107254;
      }
      iVar25 = *(int *)(iVar12 + 0x1c4);
      iVar41 = iVar12 + 0x1c0;
      if (iVar25 == 0) {
LAB_00107a60:
        iVar41 = *(int *)(pcVar44 + 0x3bae28);
      }
      else {
        do {
          iVar17 = iVar25;
          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {
            iVar25 = *(int *)(iVar17 + 0xc);
            iVar17 = iVar41;
          }
          else {
            iVar25 = *(int *)(iVar17 + 8);
          }
          iVar41 = iVar17;
        } while (iVar25 != 0);
        iVar41 = *(int *)(pcVar44 + 0x3bae28);
        iVar25 = 0;
        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {
          iVar25 = *(int *)(iVar17 + 0x14);
          goto LAB_00107a60;
        }
      }
      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);
LAB_00107a7c:
      uStack_140 = uVar46;
      if (uVar3 == 0x85) {
        puStack_104 = (uint *)0x1;
        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;
        puStack_104 = (uint *)0x1;
        goto LAB_00107aa0;
      }
LAB_00107914:
      if (2 < uVar3 - 0x8b) {
        puStack_11c = (uint *)0x0;
        puStack_104 = (uint *)0x1;
        goto LAB_00107280;
      }
      puStack_104 = (uint *)0x1;
LAB_00107930:
      uVar46 = uStack_140;
      if (puStack_5c == (undefined4 *)0x0) {
LAB_00107184:
        uStack_140 = uVar46;
        if (uVar3 == 100) goto LAB_00109418;
        puStack_11c = (uint *)0x0;
        goto LAB_00107428;
      }
      puStack_11c = (uint *)0x0;
      goto LAB_00107288;
    }
    if (puStack_5c != (undefined4 *)0x0) {
      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];
      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;
      goto LAB_001071a8;
    }
    if (uVar3 != 100) goto LAB_00107238;
LAB_001093fc:
    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);
    if (puVar4 == (uint *)0x0) {
      if (puStack_5c == (undefined4 *)0x0) {
        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;
        goto LAB_00109418;
      }
      goto LAB_00107288;
    }
LAB_00107260:
    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);
    (**(code **)(pcVar44 + 0x3bad90))(uVar8);
  }
LAB_00107280:
  uVar46 = uStack_140;
  if (puStack_5c == (undefined4 *)0x0) goto LAB_00107420;
LAB_00107288:
  do {
    pcVar40 = *(code **)(pcVar44 + 0x3bb020);
LAB_0010728c:
    iVar25 = (*pcVar40)(puStack_5c);
    uVar46 = uStack_140;
    if (iVar25 == 0) {
LAB_00107420:
      if (uVar3 == 100) {
        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;
LAB_00107ac0:
        uStack_140 = uVar46;
        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;
LAB_00107ac8:
        puStack_11c = (uint *)0x0;
        uStack_124 = (uint)(iVar28 == 9);
        if (uVar3 == 0x92) goto LAB_0010921c;
LAB_00107ae4:
        iStack_f0 = 1;
LAB_001072f0:
        uStack_134 = uVar37;
        uStack_100 = uVar3 - 100;
        uStack_130 = uVar38;
        uStack_138 = uVar3;
        if (0xc < uVar3 - 100) {
          uVar3 = uVar3 + 0x7b & 0xff;
          if (uVar3 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            uVar3 = (*(pcVar44 +
                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();
            return uVar3;
          }
          goto LAB_00107380;
        }
        uVar2 = (ushort)this->local_gotno_;
        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |
                 (uint)(*(ushort *)&this->local_gotno_ >> 8);
        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);
        if (uVar3 == 100) {
          uStack_100 = 0;
          uVar42 = uVar37 << 0x10 | uVar42;
          goto LAB_0010736c;
        }
      }
      else {
LAB_00107428:
        if (uVar3 == 0x85) {
LAB_00107aa0:
          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;
LAB_00107aa8:
          uStack_140 = uVar46;
          if (puStack_5c != (undefined4 *)0x0) {
            puStack_11c = (uint *)0x1;
            goto LAB_001072a0;
          }
LAB_00109418:
          uStack_124 = (uint)(iVar28 == 9);
          puStack_11c = (uint *)0x1;
          iStack_f0 = 1;
          goto LAB_001072f0;
        }
        if ((uVar3 == 4) || (uVar3 == 0x25)) {
          if (puStack_11c == (uint *)0x0) {
            puStack_11c = puVar4;
          }
        }
        else {
          puStack_11c = (uint *)0x0;
        }
        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;
        uStack_124 = (uint)(iVar28 == 9);
        uStack_140 = uVar46;
        if (uVar3 == 0x14) goto LAB_00107468;
        if (uVar3 != 0x92) goto LAB_00107ae4;
LAB_0010921c:
        uStack_134 = uVar37;
        uStack_100 = uVar3 - 100;
        uStack_130 = uVar38;
        iStack_f0 = 1;
        uStack_138 = uVar3;
        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;
        uVar3 = uVar3 + 0x7b & 0xff;
        uVar2 = (ushort)this->local_gotno_;
        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |
                 (uint)(*(ushort *)&this->local_gotno_ >> 8);
        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);
        if (uVar3 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          uVar3 = (*(pcVar44 +
                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();
          return uVar3;
        }
      }
      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |
               uVar37 & 0x7e0 | uVar42 & 0x1f;
      uStack_130 = uVar38;
LAB_0010736c:
      this->local_gotno_ =
           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +
           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;
    }
    else {
LAB_0010729c:
      puStack_11c = (uint *)0x0;
LAB_001072a0:
      uStack_140 = uVar46;
      if (*(char *)(puStack_5c + 0x17) == '\0') {
        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))
                              (puStack_5c,puStack_5c[5] != 0,0);
        uStack_124 = (uint)(iVar28 == 9);
        if (uVar3 == 0x14) goto LAB_0010775c;
LAB_001072e4:
        if (uVar3 != 0x92) goto LAB_001072f0;
        if (iStack_f0 != 0) goto LAB_0010921c;
        uStack_134 = uVar37;
        uStack_130 = uVar38;
        uVar2 = (ushort)this->local_gotno_;
        uStack_120 = 0x91;
        uStack_138 = 0x91;
        uStack_100 = 0x2d;
        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |
                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |
                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);
        goto LAB_0010736c;
      }
      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)
      ;
      uStack_124 = (uint)(iVar28 == 9);
      if (uVar3 != 0x14) goto LAB_001072e4;
LAB_0010775c:
      if (iStack_f0 == 0) {
        uStack_134 = uVar37;
        uStack_130 = uVar38;
        uStack_100 = 0xffffffaf;
        uStack_138 = 0x13;
        uStack_120 = 0x13;
      }
      else {
LAB_00107468:
        uStack_134 = uVar37;
        iStack_f0 = 1;
        uStack_130 = uVar38;
        uStack_100 = 0xffffffb0;
        uStack_138 = uVar3;
      }
    }
LAB_00107380:
    puVar4 = &uStack_138;
    uVar37 = 0;
    uStack_10c = 0;
    puStack_e4 = puVar4;
    uVar3 = 0;
    iStack_e0 = 0x8000 - uStack_110;
    iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240;
    uVar42 = uStack_120;
    uVar38 = uStack_130;
LAB_001073b0:
    if (uVar42 == 0) goto LAB_0010748c;
    if (*(char *)(puVar20 + 2) != '\0') {
      uStack_124 = 0;
      uStack_118 = *puVar20;
      uStack_114 = puVar20[1];
    }
    if (uVar3 == 2) goto LAB_0010ade0;
    uVar38 = (uint)(puVar4[1] != 0);
    *(bool *)(puVar20 + 2) = puVar4[1] != 0;
    if (uVar3 == 1) {
      if (uStack_ec == 1) {
        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;
        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);
      }
      else if (uStack_ec == 0) {
LAB_00107aec:
        uStack_140 = 0;
      }
      else if (uStack_ec == 2) {
        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);
      }
      else {
        if (uStack_ec != 3) goto LAB_0010accc;
        uStack_140 = CONCAT44(uStack_fc,uStack_110);
      }
    }
LAB_001073f4:
    if (uVar42 < 0xfa) {
                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)
              )();
      return uVar3;
    }
    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0);
    (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42);
    uVar3 = uVar3 + 1;
    puVar4 = puVar4 + 1;
    if (uVar3 != 3) break;
LAB_0010748c:
    if ((uStack_120 == 4) || (uStack_120 == 100)) {
      if (uStack_100 < 0xd) {
        uVar6 = this->local_gotno_;
        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
        uVar34 = uVar6 & 0xffff;
        uVar13 = uVar6 >> 0x10;
        if (uStack_120 != 100) goto LAB_00107b0c;
        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;
        goto switchD_001074ec_caseD_85;
      }
    }
    else if (uStack_100 < 0xd) {
      uVar6 = this->local_gotno_;
      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
      uVar34 = uVar6 & 0xffff;
      uVar13 = uVar6 >> 0x10;
      if (uStack_120 - 0x85 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        uVar3 = (*(pcVar44 +
                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +
                  0x3c25a4))();
        return uVar3;
      }
LAB_00107b0c:
      uVar6 = (uVar6 << 5) >> 0x10;
      uVar26 = uVar34 & 0x7e0;
      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;
      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;
switchD_001074ec_caseD_85:
      *(ushort *)((int)&this->local_gotno_ + 2) =
           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);
      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);
    }
    else if (uStack_120 - 0x85 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      uVar3 = (*(pcVar44 +
                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +
                0x3c25a4))();
      return uVar3;
    }
    if (uVar37 != 1) {
      if (uVar37 == 0) goto LAB_001075a8;
      if (uVar37 != 2) {
        pcVar40 = *(code **)(pcVar44 + 0x3bef94);
        if (uVar37 == 3) {
          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;
          goto LAB_0010757c;
        }
        (**(code **)(pcVar44 + 0x3bad94))
                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,
                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);
LAB_0010accc:
        (**(code **)(pcVar44 + 0x3bad94))
                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,
                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);
        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
        (**(code **)(pcVar44 + 0x3bad94))
                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,
                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);
        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();
        (**(code **)(pcVar44 + 0x3bad94))
                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,
                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);
        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);
        (*pcVar40)();
        (*(pcVar40 + -0x6db0))();
LAB_0010ad6c:
        (**(code **)(pcVar44 + 0x3bad94))
                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,
                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);
LAB_0010ad88:
        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();
LAB_0010ad98:
        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();
LAB_0010ada8:
        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();
        pcVar40 = *(code **)(pcVar44 + 0x3bad94);
        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,
                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);
        (*(pcVar40 + 0x4fe0))();
LAB_0010ade0:
        iVar25 = iStack_d4;
        if (p_Stack_d8 == p_Stack_f4) {
LAB_0010ae1c:
          if (iVar25 != iStack_f8) goto LAB_0010adf0;
          uVar38 = (uint)(uStack_dc != 0);
        }
        else {
LAB_0010adf0:
          uVar38 = 0;
        }
        *(char *)(puVar20 + 2) = (char)uVar38;
        uStack_140 = 0;
        goto LAB_001073f4;
      }
      pcVar40 = *(code **)(pcVar44 + 0x3bef94);
      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;
LAB_0010757c:
      uVar8 = (*pcVar40)(iVar12);
      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);
      goto LAB_001075a8;
    }
    if (puStack_5c == (undefined4 *)0x0) {
      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);
      (**(code **)(pcVar44 + 0x3bb024))
                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,
                 *(undefined4 *)(iVar12 + 4));
LAB_001075a8:
      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);
      return 1;
    }
    uVar3 = puStack_5c[10] & 0xe000;
    if (uVar3 == 0) {
      if ((int)(puStack_5c[10] << 0x1d) < 0) {
        bVar10 = puStack_5c[3] != 0;
      }
      else {
        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();
        bVar10 = bVar10 ^ 1;
      }
    }
    else {
      bVar10 = uVar3 != 0x8000;
    }
    if ((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)) {
      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);
      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);
      (**(code **)(pcVar44 + 0x3bb024))
                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);
      goto LAB_001078f4;
    }
    uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18);
    (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);
    if ((puStack_5c[10] & 0xe000) == 0) {
      (**(code **)(pcVar44 + 0x3bb024))
                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],
                 *(undefined4 *)(puStack_5c[2] + 4));
LAB_001078f4:
      if (apuStack_168[0] != auStack_160) {
        (**(code **)(pcVar44 + 0x3ba660))();
      }
      goto LAB_001075a8;
    }
    (**(code **)(pcVar44 + 0x3bad94))
              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874);
    uVar37 = 1;
    uVar46 = uStack_140;
LAB_0010afdc:
    puStack_128 = &uStack_150;
    uStack_140 = uVar46;
    (**(code **)(pcVar44 + 0x3bad94))
              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640);
    uVar46 = uStack_140;
LAB_0010b000:
    puStack_128 = &uStack_150;
    uStack_140 = uVar46;
    (**(code **)(pcVar44 + 0x3bad94))
              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624);
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();
    (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();
    puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))
                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,
                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);
LAB_0010b0c0:
    puStack_11c = (uint *)0x0;
  } while( true );
  uVar42 = *puVar4;
  goto LAB_001073b0;
}



uint FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)

{
  uint uVar1;
  uint *puVar2;
  uint uVar3;
  int iVar4;
  int *piVar5;
  int *piVar6;
  int *piVar7;
  uint local_20 [3];
  
  uVar1 = *(uint *)(param_1 + 0x78);
  if (uVar1 == 0) {
    trap(7);
  }
  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);
  if (piVar6 != (int *)0x0) {
    uVar3 = ((int *)*piVar6)[1];
    piVar7 = (int *)*piVar6;
    do {
      piVar5 = piVar7;
      if (param_4 == uVar3) {
        if (*piVar6 != 0) {
          return *(uint *)(*piVar6 + 8);
        }
        break;
      }
      piVar7 = (int *)*piVar5;
      if (piVar7 == (int *)0x0) break;
      uVar3 = piVar7[1];
      if (uVar1 == 0) {
        trap(7);
      }
      piVar6 = piVar5;
    } while (param_4 % uVar1 == uVar3 % uVar1);
  }
  uVar1 = *(uint *)(param_1 + 0x70);
  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {
    local_20[0] = param_4;
    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);
    iVar4 = *(int *)(param_5 + 0x80);
    *puVar2 = uVar1;
    piVar6 = (int *)(iVar4 + uVar1);
    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;
    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +
              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;
    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +
                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;
    return uVar1;
  }
  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,
                     PTR_s__s_004c1a50 + -0x37c0);
  return uVar1;
}


lui gp,0x3c
addiu gp,gp,0x29f0
addu gp,gp,t9
lw v0,0x78(a0)
addiu sp,sp,-0x38
lw v1,0x74(a0)
teq v0,zero
divu a3,v0
sw gp,0x10(sp)
sw ra,0x34(sp)
sw s3,0x30(sp)
sw s2,0x2c(sp)
sw s1,0x28(sp)
sw s0,0x24(sp)
mfhi t2
sll a1,t2,0x2
addu v1,v1,a1
lw t0,0x0(v1)
beq t0,zero,0x00106908
_nop
lw a1,0x0(t0)
b 0x001068d4
_lw v1,0x4(a1)
lw t1,0x0(a1)
beq t1,zero,0x00106908
_or t0,a1,zero
lw v1,0x4(t1)
or a1,t1,zero
teq v0,zero
divu v1,v0
mfhi t1
bne t2,t1,0x00106908
_nop
bne a3,v1,0x001068ac
_nop
lw v0,0x0(t0)
beq v0,zero,0x00106908
_lw ra,0x34(sp)
lw s3,0x8(v0)
lw s2,0x2c(sp)
or v0,s3,zero
lw s1,0x28(sp)
lw s3,0x30(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x38
lw v0,0x4(a0)
or s2,a2,zero
lw v1,0x6c(a0)
or s0,a3,zero
lw s3,0x70(a0)
sll v0,v0,0x3
addu v0,v0,v1
sltu v0,s3,v0
beq v0,zero,0x00106998
_or s1,a0,zero
lw t9,-0x7590(gp)
addiu a1,sp,0x18
addiu a0,a0,0x74
jalr t9
_sw a3,0x18(sp)
wsbh a2,s2
lw v1,0x48(sp)
wsbh a3,s0
lw ra,0x34(sp)
rotr a2,a2,0x10
rotr a3,a3,0x10
lw s2,0x2c(sp)
lw s0,0x24(sp)
lw v1,0x80(v1)
sw s3,0x0(v0)
lw a0,0x70(s1)
addu v0,v1,s3
addiu v1,a0,0x8
sw v1,0x70(s1)
sw a3,0x0(v0)
sw a2,0x4(v0)
or v0,s3,zero
lw s3,0x30(sp)
lw s1,0x28(sp)
jr ra
_addiu sp,sp,0x38
lw a2,-0x77f0(gp)
li a1,0x1871
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x37c0
jalr t9
_addiu a0,a0,0x3588
(translation_unit "uint FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (expression_statement "uVar1 = *(uint *)(param_1 + 0x78);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x78)" identifier = (pointer_expression "*(uint *)(param_1 + 0x78)" * (cast_expression "(uint *)(param_1 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) ;) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);" (assignment_expression "piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" identifier = (pointer_expression "*(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" * (cast_expression "(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" ( (binary_expression "*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4" (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) + (binary_expression "(param_4 % uVar1) * 4" (parenthesized_expression "(param_4 % uVar1)" ( (binary_expression "param_4 % uVar1" identifier % identifier) )) * number_literal)) ))))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }" { (expression_statement "uVar3 = ((int *)*piVar6)[1];" (assignment_expression "uVar3 = ((int *)*piVar6)[1]" identifier = (subscript_expression "((int *)*piVar6)[1]" (parenthesized_expression "((int *)*piVar6)" ( (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier)) )) [ number_literal ])) ;) (expression_statement "piVar7 = (int *)*piVar6;" (assignment_expression "piVar7 = (int *)*piVar6" identifier = (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (do_statement "do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);" do (compound_statement "{\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    }" { (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" identifier = identifier) ;) (if_statement "if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }" if (parenthesized_expression "(param_4 == uVar3)" ( (binary_expression "param_4 == uVar3" identifier == identifier) )) (compound_statement "{\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }" { (if_statement "if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }" if (parenthesized_expression "(*piVar6 != 0)" ( (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n          return *(uint *)(*piVar6 + 8);\n        }" { (return_statement "return *(uint *)(*piVar6 + 8);" return (pointer_expression "*(uint *)(*piVar6 + 8)" * (cast_expression "(uint *)(*piVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 8)" ( (binary_expression "*piVar6 + 8" (pointer_expression "*piVar6" * identifier) + number_literal) )))) ;) })) (break_statement "break;" break ;) })) (expression_statement "piVar7 = (int *)*piVar5;" (assignment_expression "piVar7 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (if_statement "if (piVar7 == (int *)0x0) break;" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = piVar7[1];" (assignment_expression "uVar3 = piVar7[1]" identifier = (subscript_expression "piVar7[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "piVar6 = piVar5;" (assignment_expression "piVar6 = piVar5" identifier = identifier) ;) }) while (parenthesized_expression "(param_4 % uVar1 == uVar3 % uVar1)" ( (binary_expression "param_4 % uVar1 == uVar3 % uVar1" (binary_expression "param_4 % uVar1" identifier % identifier) == (binary_expression "uVar3 % uVar1" identifier % identifier)) )) ;) })) (expression_statement "uVar1 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x70)" identifier = (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;) (if_statement "if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }" if (parenthesized_expression "(uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c)))" ( (binary_expression "uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" identifier < (call_expression "(uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" ( (binary_expression "*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c)" (binary_expression "*(int *)(param_1 + 4) * 8" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) * number_literal) + (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) ))))) )))) )) (compound_statement "{\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }" { (expression_statement "local_20[0] = param_4;" (assignment_expression "local_20[0] = param_4" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);" (assignment_expression "puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" identifier = (cast_expression "(uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" (parenthesized_expression "(*(code *)PTR_operator___004c1cb0)" ( (pointer_expression "*(code *)PTR_operator___004c1cb0" * (cast_expression "(code *)PTR_operator___004c1cb0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x74,local_20)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) , identifier ))))) ;) (expression_statement "iVar4 = *(int *)(param_5 + 0x80);" (assignment_expression "iVar4 = *(int *)(param_5 + 0x80)" identifier = (pointer_expression "*(int *)(param_5 + 0x80)" * (cast_expression "(int *)(param_5 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x80)" ( (binary_expression "param_5 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "piVar6 = (int *)(iVar4 + uVar1);" (assignment_expression "piVar6 = (int *)(iVar4 + uVar1)" identifier = (cast_expression "(int *)(iVar4 + uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar1)" ( (binary_expression "iVar4 + uVar1" identifier + identifier) )))) ;) (expression_statement "*(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;" (assignment_expression "*(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8" (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x70) + 8" (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar6" * identifier) = (binary_expression "(((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10)" ( (binary_expression "(param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10" (binary_expression "(param_4 >> 0x10) << 0x18" (parenthesized_expression "(param_4 >> 0x10)" ( (binary_expression "param_4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(param_4 >> 0x18) << 0x10" (parenthesized_expression "(param_4 >> 0x18)" ( (binary_expression "param_4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff)" ( (binary_expression "(param_4 & 0xff) << 8 | param_4 >> 8 & 0xff" (binary_expression "(param_4 & 0xff) << 8" (parenthesized_expression "(param_4 & 0xff)" ( (binary_expression "param_4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "param_4 >> 8 & 0xff" (binary_expression "param_4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar6[1]" identifier [ number_literal ]) = (binary_expression "(((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10)" ( (binary_expression "(param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10" (binary_expression "(param_3 >> 0x10) << 0x18" (parenthesized_expression "(param_3 >> 0x10)" ( (binary_expression "param_3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(param_3 >> 0x18) << 0x10" (parenthesized_expression "(param_3 >> 0x18)" ( (binary_expression "param_3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff)" ( (binary_expression "(param_3 & 0xff) << 8 | param_3 >> 8 & 0xff" (binary_expression "(param_3 & 0xff) << 8" (parenthesized_expression "(param_3 & 0xff)" ( (binary_expression "param_3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "param_3 >> 8 & 0xff" (binary_expression "param_3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);" (assignment_expression "uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x37c0" identifier + number_literal) )))) ;) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */\n/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */\n/* DWARF original prototype: uint get_got_page_offset(Mips_got_info<64,_false> * this, Mips_address\n   value, Mips_output_data_got<64,_false> * got) */\n\nuint __thiscall\nanon_unknown.dwarf_29466b::Mips_got_info<64,_false>::get_got_page_offset\n          (Mips_got_info<64,_false> *this,Mips_address value,Mips_output_data_got<64,_false> *got)\n\n{\n  bool bVar1;\n  ushort uVar2;\n  uint uVar3;\n  uint *puVar4;\n  int *piVar5;\n  uint uVar6;\n  _Hash_node_base *p_Var7;\n  undefined4 uVar8;\n  int iVar9;\n  byte bVar10;\n  _Hash_node_base *p_Var11;\n  int iVar12;\n  uint uVar13;\n  _func_int_varargs **pp_Var14;\n  int extraout_v1;\n  uint extraout_v1_00;\n  _Hash_node_base *p_Var15;\n  _Hash_node_base *p_Var16;\n  int iVar17;\n  Mips_got_info<64,_false> *pMVar18;\n  Mips_got_info<64,_false> *this_00;\n  int iVar19;\n  uint *puVar20;\n  _Hash_node_base *p_Var21;\n  __bucket_type p_Var22;\n  Mips_output_data_got<64,_false> *pMVar23;\n  Mips_output_data_got<64,_false> *got_00;\n  Mips_output_data_got<64,_false> *pMVar24;\n  int iVar25;\n  uint uVar26;\n  uint in_a2;\n  undefined *puVar27;\n  int iVar28;\n  _Hash_node_base *p_Var29;\n  int iVar30;\n  __hash_code __code;\n  _Hash_node_base *in_a3;\n  _func_int_varargs *p_Var31;\n  uint *puVar32;\n  __bucket_type p_Var33;\n  uint uVar34;\n  __bucket_type p_Var35;\n  Mips_output_data_got<64,_false> *pMVar36;\n  uint uVar37;\n  byte unaff_s0;\n  uint uVar38;\n  int *unaff_s1;\n  uint *puVar39;\n  code *pcVar40;\n  int iVar41;\n  uint uVar42;\n  undefined *puVar43;\n  code *pcVar44;\n  longlong lVar45;\n  undefined8 uVar46;\n  undefined1 *apuStack_168 [2];\n  undefined1 auStack_160 [16];\n  undefined4 uStack_150;\n  undefined4 uStack_14c;\n  undefined4 uStack_148;\n  undefined8 uStack_140;\n  uint uStack_138;\n  uint uStack_134;\n  uint uStack_130;\n  undefined4 *puStack_128;\n  uint uStack_124;\n  uint uStack_120;\n  uint *puStack_11c;\n  uint uStack_118;\n  uint uStack_114;\n  uint uStack_110;\n  undefined4 uStack_10c;\n  _Hash_node_base *p_Stack_108;\n  uint *puStack_104;\n  uint uStack_100;\n  uint uStack_fc;\n  int iStack_f8;\n  _Hash_node_base *p_Stack_f4;\n  int iStack_f0;\n  uint uStack_ec;\n  int iStack_e8;\n  uint *puStack_e4;\n  int iStack_e0;\n  uint uStack_dc;\n  _Hash_node_base *p_Stack_d8;\n  int iStack_d4;\n  uint uStack_a0;\n  Mips_output_data_got<64,_false> *pMStack_9c;\n  uint uStack_98;\n  int iStack_94;\n  Mips_got_info<64,_false> *pMStack_90;\n  uint uStack_8c;\n  uint uStack_88;\n  uint in_stack_ffffff9c;\n  undefined4 *puStack_5c;\n  uint uStack_24;\n  undefined1 local_20 [3];\n  char cStack_1d;\n  int iStack_1c;\n  int iStack_18;\n  \n  uVar3 = (this->got_page_offsets_)._M_h._M_bucket_count;\n  if (uVar3 == 0) {\n    trap(7);\n  }\n  p_Var33 = (this->got_page_offsets_)._M_h._M_buckets[(uint)in_a3 % uVar3];\n  if (p_Var33 != (__bucket_type)0x0) {\n    p_Var11 = p_Var33->_M_nxt[1]._M_nxt;\n    p_Var35 = p_Var33->_M_nxt;\n    do {\n      p_Var22 = p_Var35;\n      if (in_a3 == p_Var11) {\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }\n      p_Var35 = p_Var22->_M_nxt;\n      if (p_Var35 == (_Hash_node_base *)0x0) break;\n      p_Var11 = p_Var35[1]._M_nxt;\n      if (uVar3 == 0) {\n        trap(7);\n      }\n      p_Var33 = p_Var22;\n    } while ((uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3);\n  }\n  uVar3 = this->got_page_offset_next_;\n  if (uVar3 < this->page_gotno_ * 8 + this->got_page_offset_start_) {\n    puVar4 = (uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20);\n    iVar12 = *(int *)(value._0_4_ + 0x80);\n    *puVar4 = uVar3;\n    piVar5 = (int *)(iVar12 + uVar3);\n    this->got_page_offset_next_ = this->got_page_offset_next_ + 8;\n    *piVar5 = ((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +\n              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000;\n    piVar5[1] = (((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +\n                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000;\n    return uVar3;\n  }\n  pMVar23 = (Mips_output_data_got<64,_false> *)0x1871;\n  puVar27 = PTR_s__s_004c1a50 + -0x37c0;\n  pMVar18 = (Mips_got_info<64,_false> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588);\n  p_Var11 = in_a3;\n  puVar43 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)();\n  puVar4 = (uint *)(puVar43 + 0x3c288c);\n  uVar42 = pMVar18->local_gotno_;\n  uVar37 = ((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10;\n  uVar38 = uVar37 + ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n  got_00 = (Mips_output_data_got<64,_false> *)\n           &gold::Position_dependent_options::default_options_.relax_.user_set_via_option;\n  if (cStack_1d != '\0') {\n    p_Var11 = (_Hash_node_base *)(uVar37 * 0x10000);\n    got_00 = (Mips_output_data_got<64,_false> *)0x0;\n    uStack_24 = (int)&p_Var11->_M_nxt + iStack_1c;\n  }\n  uVar37 = *(uint *)(puVar27 + 8);\n  if ((uVar37 & 1) == 0) {\n    this_00 = *(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8);\n    if ((int)(uVar37 << 0x1b) < 0) {\n      this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);\n      uVar6 = this_00->page_gotno_;\n      if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }\n      uVar34 = this_00->tls_ldm_offset_;\n      if (uVar34 == 0) {\n        trap(7);\n      }\n      pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);\n      pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n      if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }\n      got_00 = pMVar23;\n      (*pcVar44)(this_00,pMVar23,uVar37 >> 5);\n      p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);\n      in_stack_ffffff9c = uVar6;\n      goto LAB_00106ac4;\n    }\n  }\n  else {\n    p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14));\n    this_00 = pMVar18;\nLAB_00106ac4:\n    iVar12 = *(int *)(iStack_18 + 0x14);\n    p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000);\n    if (iVar12 == 0) {\nLAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);\n      (*pcVar44)();\nLAB_00106c68:\n      (*(pcVar44 + 0x7664))();\n    }\n    else {\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }\n    (*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))();\n  }\n  iVar19 = 0x6ab;\n  pcVar44 = *(code **)(puVar43 + 0x3bb07c);\n  iVar28 = *(int *)(puVar43 + 0x3bb09c) + -0x33e0;\n  puVar20 = &this_00[0x71].index_;\n  (*pcVar44)();\n  iVar12 = *(int *)(iVar19 + 0x10);\n  uVar6 = *(uint *)(iVar12 + 0x20);\n  uVar37 = *(uint *)(iVar12 + 0x24);\n  uVar13 = *(uint *)(iVar12 + 0x38);\n  uVar34 = *(uint *)(iVar12 + 0x3c);\n  iStack_94 = iStack_18;\n  uStack_110 = uVar3;\n  uStack_fc = in_a2;\n  uStack_a0 = uVar38;\n  pMStack_9c = pMVar23;\n  uStack_98 = (uint)unaff_s0;\n  pMStack_90 = pMVar18;\n  uStack_8c = uVar42;\n  uStack_88 = uStack_24;\n  (**(code **)(pcVar44 + 0x3bb018))\n            ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000,\n             (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000,\n             (((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000,\n             (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);\n  uVar37 = *(uint *)(puVar43 + 0x3c2894);\n  uVar42 = *puVar4;\n  uVar38 = *(uint *)(puVar43 + 0x3c2890);\n  uVar3 = (uint)(byte)puVar43[0x3c289b];\n  p_Stack_108 = (_Hash_node_base *)\n                ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000);\n  uStack_120 = uVar3;\n  p_Var29 = (_Hash_node_base *)\n            ((((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000);\n  iStack_f8 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n  p_Stack_f4 = p_Var29;\n  if (iVar28 == 4) {\n    uVar6 = *(uint *)(puVar43 + 0x3c289c);\n    uVar42 = *(uint *)(puVar43 + 0x3c28a0);\n    uVar37 = (uint)(byte)puVar43[0x3c289a];\n    uVar38 = (uint)(byte)puVar43[0x3c2899];\n    uStack_ec = (uint)(byte)puVar43[0x3c2898];\n    uStack_114 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n    uStack_118 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    if (in_stack_ffffff9c + 1 < extraout_v1_00) {\n      uVar6 = *(uint *)(puVar43 + 0x3c28a4);\n      uVar42 = *(uint *)(puVar43 + 0x3c28a8);\n      uStack_dc = (uint)(byte)puVar43[0x3c28b3];\n      iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);\n    }\n    else {\n      uStack_dc = 0;\n      p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n      iStack_d4 = -1;\n    }\nLAB_00106dbc:\n    iVar12 = *(int *)(iVar19 + 8);\n    if (puStack_5c != (undefined4 *)0x0) goto LAB_00106dec;\nLAB_00107020:\n    uStack_140._4_4_ = (_Hash_node_base *)0x0;\n    uStack_140._0_4_ = 0;\n    uVar46 = 0;\n    uStack_140 = 0;\n    uStack_148 = 1;\n    uStack_14c = 0xffffffff;\n    uStack_150 = 0;\n    if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108) goto LAB_0010b000;\n    uVar42 = 1 << ((uint)p_Stack_108 & 0x1f);\n    iVar25 = ((uint)p_Stack_108 >> 5) * 4;\n    uStack_124 = *(uint *)(*(int *)(iVar12 + 0x14c) + iVar25);\n    if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108) goto LAB_0010afdc;\n    uVar6 = *(uint *)(*(int *)(iVar12 + 0x160) + iVar25);\n    bVar1 = ((uStack_124 | uVar6) & uVar42) == 0;\n    puVar4 = (uint *)(uint)((uVar42 & uVar6) != 0);\n    if (bVar1) {\n      puStack_104 = (uint *)0x0;\n      puStack_11c = (uint *)0x0;\n      puStack_128 = &uStack_150;\n    }\n    else {\n      puStack_128 = &uStack_150;\n      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);\n      puStack_128 = &uStack_150;\n      uVar42 = uVar42 & uStack_124;\n      puStack_11c = (uint *)(uint)(uVar42 != 0);\n      puStack_104 = (uint *)0x1;\n    }\n    puStack_104 = (uint *)(uint)!bVar1;\n    if (uVar3 == 100) {\n      iVar41 = *(int *)(iVar12 + 0x1dc);\n      iVar30 = iVar12 + 0x1d8;\n      iVar25 = iVar41;\n      iVar17 = iVar30;\n      if (iVar41 != 0) {\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }\n      goto LAB_001093fc;\n    }\n    iVar25 = *(int *)(iVar12 + 0x1c4);\n    iVar41 = iVar12 + 0x1c0;\n    if (*(int *)(iVar12 + 0x1c4) != 0) {\n      do {\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      } while (*(int *)(iVar17 + 8) != 0);\nLAB_00107154:\n      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;\n      goto LAB_00106f1c;\n    }\nLAB_00107170:\n    uVar46 = uStack_140;\n    if (uVar3 != 0x85) goto LAB_00107248;\nLAB_00107178:\n    if (puStack_11c == (uint *)0x0) goto LAB_00107184;\n    goto LAB_0010725c;\n  }\n  if (extraout_v1_00 <= in_stack_ffffff9c + 1) {\n    uStack_dc = 0;\n    uVar38 = 0;\n    uStack_118 = 0;\n    uVar37 = 0;\n    p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n    iStack_d4 = -1;\n    uStack_114 = 0;\n    uStack_ec = 0;\n    goto LAB_00106dbc;\n  }\n  uVar42 = *(uint *)(puVar43 + 0x3c28a0);\n  uVar6 = *(uint *)(puVar43 + 0x3c289c);\n  uVar38 = 0;\n  uVar37 = 0;\n  uStack_118 = 0;\n  uStack_114 = 0;\n  uStack_dc = (uint)(byte)puVar43[0x3c28ab];\n  uStack_ec = 0;\n  p_Stack_d8 = (_Hash_node_base *)\n               ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);\n  iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n  iVar12 = *(int *)(iVar19 + 8);\n  if (puStack_5c == (undefined4 *)0x0) goto LAB_00107020;\nLAB_00106dec:\n  uStack_140._4_4_ = (_Hash_node_base *)0x0;\n  uStack_140._0_4_ = 0;\n  uStack_148 = 1;\n  uStack_14c = 0xffffffff;\n  uStack_150 = 0;\n  uVar6 = (uint)(puStack_5c[10] << 10) >> 0x1a;\n  uVar34 = uVar6 & 0x3c;\n  uVar42 = uVar34 ^ 0x3c;\n  uVar6 = uVar6 & 0x30;\n  puStack_11c = (uint *)(uint)(uVar42 == 0);\n  puVar39 = (uint *)(uint)(uVar6 == 0x20);\n  if (uVar34 == 0x3c) {\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\nLAB_001076b4:\n    puStack_128 = &uStack_150;\n    p_Var29 = (_Hash_node_base *)0x0;\n    lVar45 = (*pcVar40)(in_a3,iVar12,0,0);\n    if (lVar45 == 0) goto LAB_00106e24;\n    puStack_128 = &uStack_150;\n    p_Var29 = (_Hash_node_base *)0x0;\n    uVar46 = (*pcVar40)(in_a3,iVar12,0,0);\n    uStack_140._0_4_ = (int)((ulonglong)uVar46 >> 0x20);\n    uStack_140._4_4_ = (_Hash_node_base *)((uint)uVar46 | 1);\n    puStack_104 = (uint *)0x1;\n  }\n  else {\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\n    if (uVar6 == 0x20) goto LAB_001076b4;\nLAB_00106e24:\n    puStack_104 = (uint *)0x0;\n  }\n  puStack_128 = &uStack_150;\n  iVar25 = 0;\n  if (uVar3 - 1 < 0xf9) {\n    iVar25 = (int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8);\n  }\n  iVar25 = (**(code **)(pcVar44 + 0x3bb01c))(puStack_5c,iVar25);\n  uVar46 = CONCAT44(uStack_140._0_4_,uStack_140._4_4_);\n  puVar4 = puVar39;\n  if (iVar25 == 0) {\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') {\nLAB_00106e70:\n      p_Var21 = p_Var11[0x18]._M_nxt;\n      if (p_Var21 == (_Hash_node_base *)0x0) {\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }\n      else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }\n      pcVar40 = pcVar40 + 0x7664;\n      (*pcVar40)();\nLAB_0010ae48:\n      (*(pcVar40 + 0x4fac))();\n      goto LAB_0010ae54;\n    }\n  }\n  else {\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') goto LAB_00106e70;\n    p_Var21 = p_Var11[7]._M_nxt;\n    if (puStack_5c[0x18] == -1) {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;\n      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);\n      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;\n      p_Var29 = p_Var21[3]._M_nxt;\n      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);\n      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;\n      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);\n      uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;\n      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;\n      puVar4 = puVar32;\n      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }\n    }\n    else {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }\nLAB_00106ea4:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n  }\n  iVar25 = (**(code **)(pcVar44 + 0x3bedcc))(*puStack_5c,iVar25 + 0x359c);\n  if (iVar25 == 0) {\n    uStack_140 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12);\n  }\n  if (uVar3 == 100) {\n    if (puStack_5c[0x1b] == 0) {\n      if (puStack_5c[0x1c] == 0) goto LAB_00107960;\n      puVar39 = puStack_11c;\n      if (puStack_5c[6] == -1) goto LAB_0010afb0;\nLAB_001091dc:\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\nLAB_001091e0:\n      pcVar40 = (code *)(iVar25 + 9000);\n    }\n    else {\n      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\n      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;\n      pcVar40 = (code *)(iVar25 + 9000);\n      if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }\n    }\nLAB_001091e4:\n    uVar46 = (*pcVar40)();\n    puStack_104 = puVar4;\n    if (puVar4 != (uint *)0x0) {\nLAB_0010725c:\n      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n      uStack_140 = uVar46;\n      goto LAB_00107260;\n    }\n    puStack_104 = (uint *)0x1;\n    uStack_140 = uVar46;\nLAB_00107248:\n    uVar46 = uStack_140;\n    if (uVar3 - 0x8b < 3) {\nLAB_00107254:\n      uStack_140 = uVar46;\n      if (puStack_11c == (uint *)0x0) goto LAB_00107930;\n      goto LAB_0010725c;\n    }\n  }\n  else {\n    if ((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;\n      goto LAB_00107238;\n    }\nLAB_00106f1c:\n    iVar41 = *(int *)(iVar19 + 0x18);\n    iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41);\n    if ((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))) {\n      if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }\n      iVar25 = *(int *)(iVar12 + 0x1c4);\n      iVar41 = iVar12 + 0x1c0;\n      if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }\n      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);\nLAB_00107a7c:\n      uStack_140 = uVar46;\n      if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }\nLAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }\n      puStack_104 = (uint *)0x1;\nLAB_00107930:\n      uVar46 = uStack_140;\n      if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }\n      puStack_11c = (uint *)0x0;\n      goto LAB_00107288;\n    }\n    if (puStack_5c != (undefined4 *)0x0) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;\n      goto LAB_001071a8;\n    }\n    if (uVar3 != 100) goto LAB_00107238;\nLAB_001093fc:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (puVar4 == (uint *)0x0) {\n      if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }\n      goto LAB_00107288;\n    }\nLAB_00107260:\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);\n    (**(code **)(pcVar44 + 0x3bad90))(uVar8);\n  }\nLAB_00107280:\n  uVar46 = uStack_140;\n  if (puStack_5c == (undefined4 *)0x0) goto LAB_00107420;\nLAB_00107288:\n  do {\n    pcVar40 = *(code **)(pcVar44 + 0x3bb020);\nLAB_0010728c:\n    iVar25 = (*pcVar40)(puStack_5c);\n    uVar46 = uStack_140;\n    if (iVar25 == 0) {\nLAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }\n      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;\n      uStack_130 = uVar38;\nLAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    }\n    else {\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }\nLAB_00107380:\n    puVar4 = &uStack_138;\n    uVar37 = 0;\n    uStack_10c = 0;\n    puStack_e4 = puVar4;\n    uVar3 = 0;\n    iStack_e0 = 0x8000 - uStack_110;\n    iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240;\n    uVar42 = uStack_120;\n    uVar38 = uStack_130;\nLAB_001073b0:\n    if (uVar42 == 0) goto LAB_0010748c;\n    if (*(char *)(puVar20 + 2) != '\0') {\n      uStack_124 = 0;\n      uStack_118 = *puVar20;\n      uStack_114 = puVar20[1];\n    }\n    if (uVar3 == 2) goto LAB_0010ade0;\n    uVar38 = (uint)(puVar4[1] != 0);\n    *(bool *)(puVar20 + 2) = puVar4[1] != 0;\n    if (uVar3 == 1) {\n      if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }\n    }\nLAB_001073f4:\n    if (uVar42 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0);\n    (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42);\n    uVar3 = uVar3 + 1;\n    puVar4 = puVar4 + 1;\n    if (uVar3 != 3) break;\nLAB_0010748c:\n    if ((uStack_120 == 4) || (uStack_120 == 100)) {\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }\n    else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }\n    if (uVar37 != 1) {\n      if (uVar37 == 0) goto LAB_001075a8;\n      if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }\n      pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;\nLAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);\n      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);\n      goto LAB_001075a8;\n    }\n    if (puStack_5c == (undefined4 *)0x0) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));\nLAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);\n      return 1;\n    }\n    uVar3 = puStack_5c[10] & 0xe000;\n    if (uVar3 == 0) {\n      if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }\n    }\n    else {\n      bVar10 = uVar3 != 0x8000;\n    }\n    if ((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);\n      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);\n      goto LAB_001078f4;\n    }\n    uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18);\n    (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n    if ((puStack_5c[10] & 0xe000) == 0) {\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));\nLAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }\n      goto LAB_001075a8;\n    }\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874);\n    uVar37 = 1;\n    uVar46 = uStack_140;\nLAB_0010afdc:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640);\n    uVar46 = uStack_140;\nLAB_0010b000:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624);\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n    puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010b0c0:\n    puStack_11c = (uint *)0x0;\n  } while( true );\n  uVar42 = *puVar4;\n  goto LAB_001073b0;\n}\n\n" comment comment comment comment comment comment comment comment (declaration "uint __thiscall\nanon_unknown.dwarf_29466b::Mips_got_info<64,_false>::get_got_page_offset\n          (Mips_got_info<64,_false> *this,Mips_address value,Mips_output_data_got<64,_false> *got)\n\n{\n  bool bVar1;" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_29466b::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::get_got_page_offset\n          (Mips_got_info<64,_false> *this,Mips_address value,Mips_output_data_got<64,_false> *got)\n\n{\n  bool" identifier > : : (function_declarator "get_got_page_offset\n          (Mips_got_info<64,_false> *this,Mips_address value,Mips_output_data_got<64,_false> *got)" identifier (parameter_list "(Mips_got_info<64,_false> *this,Mips_address value,Mips_output_data_got<64,_false> *got)" ( (parameter_declaration "Mips_got_info" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Mips_address value" type_identifier identifier) , (parameter_declaration "Mips_output_data_got" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *got" type_identifier (ERROR ">" >) (pointer_declarator "*got" * identifier)) ))) { primitive_type) identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "byte bVar10;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var14;" type_identifier (pointer_declarator "**pp_Var14" * (pointer_declarator "*pp_Var14" * identifier)) ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "uint extraout_v1_00;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var15;" type_identifier (pointer_declarator "*p_Var15" * identifier) ;) (declaration "_Hash_node_base *p_Var16;" type_identifier (pointer_declarator "*p_Var16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (expression_statement "Mips_got_info<64,_false> *pMVar18;" (update_expression "Mips_got_info<64,_false> *pMVar18" (binary_expression "Mips_got_info<64,_false> *pMVar18" (binary_expression "Mips_got_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar18" * identifier)) --) ;) (expression_statement "Mips_got_info<64,_false> *this_00;" (update_expression "Mips_got_info<64,_false> *this_00" (binary_expression "Mips_got_info<64,_false> *this_00" (binary_expression "Mips_got_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "uint *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "_Hash_node_base *p_Var21;" type_identifier (pointer_declarator "*p_Var21" * identifier) ;) (declaration "__bucket_type p_Var22;" type_identifier identifier ;) (expression_statement "Mips_output_data_got<64,_false> *pMVar23;" (update_expression "Mips_output_data_got<64,_false> *pMVar23" (binary_expression "Mips_output_data_got<64,_false> *pMVar23" (binary_expression "Mips_output_data_got<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar23" * identifier)) --) ;) (expression_statement "Mips_output_data_got<64,_false> *got_00;" (update_expression "Mips_output_data_got<64,_false> *got_00" (binary_expression "Mips_output_data_got<64,_false> *got_00" (binary_expression "Mips_output_data_got<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*got_00" * identifier)) --) ;) (expression_statement "Mips_output_data_got<64,_false> *pMVar24;" (update_expression "Mips_output_data_got<64,_false> *pMVar24" (binary_expression "Mips_output_data_got<64,_false> *pMVar24" (binary_expression "Mips_output_data_got<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar24" * identifier)) --) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "uint in_a2;" type_identifier identifier ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "int iVar28;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Var29;" type_identifier (pointer_declarator "*p_Var29" * identifier) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "__hash_code __code;" type_identifier identifier ;) (declaration "_Hash_node_base *in_a3;" type_identifier (pointer_declarator "*in_a3" * identifier) ;) (declaration "_func_int_varargs *p_Var31;" type_identifier (pointer_declarator "*p_Var31" * identifier) ;) (declaration "uint *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "__bucket_type p_Var33;" type_identifier identifier ;) (declaration "uint uVar34;" type_identifier identifier ;) (declaration "__bucket_type p_Var35;" type_identifier identifier ;) (expression_statement "Mips_output_data_got<64,_false> *pMVar36;" (update_expression "Mips_output_data_got<64,_false> *pMVar36" (binary_expression "Mips_output_data_got<64,_false> *pMVar36" (binary_expression "Mips_output_data_got<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar36" * identifier)) --) ;) (declaration "uint uVar37;" type_identifier identifier ;) (declaration "byte unaff_s0;" type_identifier identifier ;) (declaration "uint uVar38;" type_identifier identifier ;) (declaration "int *unaff_s1;" primitive_type (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "uint *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "code *pcVar40;" type_identifier (pointer_declarator "*pcVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "uint uVar42;" type_identifier identifier ;) (declaration "undefined *puVar43;" type_identifier (pointer_declarator "*puVar43" * identifier) ;) (declaration "code *pcVar44;" type_identifier (pointer_declarator "*pcVar44" * identifier) ;) (declaration "longlong lVar45;" type_identifier identifier ;) (declaration "undefined8 uVar46;" type_identifier identifier ;) (declaration "undefined1 *apuStack_168 [2];" type_identifier (pointer_declarator "*apuStack_168 [2]" * (array_declarator "apuStack_168 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_160 [16];" type_identifier (array_declarator "auStack_160 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_150;" type_identifier identifier ;) (declaration "undefined4 uStack_14c;" type_identifier identifier ;) (declaration "undefined4 uStack_148;" type_identifier identifier ;) (declaration "undefined8 uStack_140;" type_identifier identifier ;) (declaration "uint uStack_138;" type_identifier identifier ;) (declaration "uint uStack_134;" type_identifier identifier ;) (declaration "uint uStack_130;" type_identifier identifier ;) (declaration "undefined4 *puStack_128;" type_identifier (pointer_declarator "*puStack_128" * identifier) ;) (declaration "uint uStack_124;" type_identifier identifier ;) (declaration "uint uStack_120;" type_identifier identifier ;) (declaration "uint *puStack_11c;" type_identifier (pointer_declarator "*puStack_11c" * identifier) ;) (declaration "uint uStack_118;" type_identifier identifier ;) (declaration "uint uStack_114;" type_identifier identifier ;) (declaration "uint uStack_110;" type_identifier identifier ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Stack_108;" type_identifier (pointer_declarator "*p_Stack_108" * identifier) ;) (declaration "uint *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "uint uStack_100;" type_identifier identifier ;) (declaration "uint uStack_fc;" type_identifier identifier ;) (declaration "int iStack_f8;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Stack_f4;" type_identifier (pointer_declarator "*p_Stack_f4" * identifier) ;) (declaration "int iStack_f0;" primitive_type identifier ;) (declaration "uint uStack_ec;" type_identifier identifier ;) (declaration "int iStack_e8;" primitive_type identifier ;) (declaration "uint *puStack_e4;" type_identifier (pointer_declarator "*puStack_e4" * identifier) ;) (declaration "int iStack_e0;" primitive_type identifier ;) (declaration "uint uStack_dc;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Stack_d8;" type_identifier (pointer_declarator "*p_Stack_d8" * identifier) ;) (declaration "int iStack_d4;" primitive_type identifier ;) (declaration "uint uStack_a0;" type_identifier identifier ;) (expression_statement "Mips_output_data_got<64,_false> *pMStack_9c;" (update_expression "Mips_output_data_got<64,_false> *pMStack_9c" (binary_expression "Mips_output_data_got<64,_false> *pMStack_9c" (binary_expression "Mips_output_data_got<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMStack_9c" * identifier)) --) ;) (declaration "uint uStack_98;" type_identifier identifier ;) (declaration "int iStack_94;" primitive_type identifier ;) (expression_statement "Mips_got_info<64,_false> *pMStack_90;" (update_expression "Mips_got_info<64,_false> *pMStack_90" (binary_expression "Mips_got_info<64,_false> *pMStack_90" (binary_expression "Mips_got_info<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMStack_90" * identifier)) --) ;) (declaration "uint uStack_8c;" type_identifier identifier ;) (declaration "uint uStack_88;" type_identifier identifier ;) (declaration "uint in_stack_ffffff9c;" type_identifier identifier ;) (declaration "undefined4 *puStack_5c;" type_identifier (pointer_declarator "*puStack_5c" * identifier) ;) (declaration "uint uStack_24;" type_identifier identifier ;) (declaration "undefined1 local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (declaration "char cStack_1d;" primitive_type identifier ;) (declaration "int iStack_1c;" primitive_type identifier ;) (declaration "int iStack_18;" primitive_type identifier ;) (expression_statement "uVar3 = (this->got_page_offsets_)._M_h._M_bucket_count;" (assignment_expression "uVar3 = (this->got_page_offsets_)._M_h._M_bucket_count" identifier = (field_expression "(this->got_page_offsets_)._M_h._M_bucket_count" (field_expression "(this->got_page_offsets_)._M_h" (parenthesized_expression "(this->got_page_offsets_)" ( (field_expression "this->got_page_offsets_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar3 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "p_Var33 = (this->got_page_offsets_)._M_h._M_buckets[(uint)in_a3 % uVar3];" (assignment_expression "p_Var33 = (this->got_page_offsets_)._M_h._M_buckets[(uint)in_a3 % uVar3]" identifier = (subscript_expression "(this->got_page_offsets_)._M_h._M_buckets[(uint)in_a3 % uVar3]" (field_expression "(this->got_page_offsets_)._M_h._M_buckets" (field_expression "(this->got_page_offsets_)._M_h" (parenthesized_expression "(this->got_page_offsets_)" ( (field_expression "this->got_page_offsets_" identifier -> field_identifier) )) . field_identifier) . field_identifier) [ (binary_expression "(uint)in_a3 % uVar3" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier) ])) ;) (if_statement "if (p_Var33 != (__bucket_type)0x0) {\n    p_Var11 = p_Var33->_M_nxt[1]._M_nxt;\n    p_Var35 = p_Var33->_M_nxt;\n    do {\n      p_Var22 = p_Var35;\n      if (in_a3 == p_Var11) {\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }\n      p_Var35 = p_Var22->_M_nxt;\n      if (p_Var35 == (_Hash_node_base *)0x0) break;\n      p_Var11 = p_Var35[1]._M_nxt;\n      if (uVar3 == 0) {\n        trap(7);\n      }\n      p_Var33 = p_Var22;\n    } while ((uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3);\n  }" if (parenthesized_expression "(p_Var33 != (__bucket_type)0x0)" ( (binary_expression "p_Var33 != (__bucket_type)0x0" identifier != (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n    p_Var11 = p_Var33->_M_nxt[1]._M_nxt;\n    p_Var35 = p_Var33->_M_nxt;\n    do {\n      p_Var22 = p_Var35;\n      if (in_a3 == p_Var11) {\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }\n      p_Var35 = p_Var22->_M_nxt;\n      if (p_Var35 == (_Hash_node_base *)0x0) break;\n      p_Var11 = p_Var35[1]._M_nxt;\n      if (uVar3 == 0) {\n        trap(7);\n      }\n      p_Var33 = p_Var22;\n    } while ((uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3);\n  }" { (expression_statement "p_Var11 = p_Var33->_M_nxt[1]._M_nxt;" (assignment_expression "p_Var11 = p_Var33->_M_nxt[1]._M_nxt" identifier = (field_expression "p_Var33->_M_nxt[1]._M_nxt" (subscript_expression "p_Var33->_M_nxt[1]" (field_expression "p_Var33->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var35 = p_Var33->_M_nxt;" (assignment_expression "p_Var35 = p_Var33->_M_nxt" identifier = (field_expression "p_Var33->_M_nxt" identifier -> field_identifier)) ;) (do_statement "do {\n      p_Var22 = p_Var35;\n      if (in_a3 == p_Var11) {\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }\n      p_Var35 = p_Var22->_M_nxt;\n      if (p_Var35 == (_Hash_node_base *)0x0) break;\n      p_Var11 = p_Var35[1]._M_nxt;\n      if (uVar3 == 0) {\n        trap(7);\n      }\n      p_Var33 = p_Var22;\n    } while ((uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3);" do (compound_statement "{\n      p_Var22 = p_Var35;\n      if (in_a3 == p_Var11) {\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }\n      p_Var35 = p_Var22->_M_nxt;\n      if (p_Var35 == (_Hash_node_base *)0x0) break;\n      p_Var11 = p_Var35[1]._M_nxt;\n      if (uVar3 == 0) {\n        trap(7);\n      }\n      p_Var33 = p_Var22;\n    }" { (expression_statement "p_Var22 = p_Var35;" (assignment_expression "p_Var22 = p_Var35" identifier = identifier) ;) (if_statement "if (in_a3 == p_Var11) {\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }" if (parenthesized_expression "(in_a3 == p_Var11)" ( (binary_expression "in_a3 == p_Var11" identifier == identifier) )) (compound_statement "{\n        if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }\n        break;\n      }" { (if_statement "if (p_Var33->_M_nxt != (_Hash_node_base *)0x0) {\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }" if (parenthesized_expression "(p_Var33->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var33->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var33->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          return (uint)p_Var33->_M_nxt[2]._M_nxt;\n        }" { (return_statement "return (uint)p_Var33->_M_nxt[2]._M_nxt;" return (cast_expression "(uint)p_Var33->_M_nxt[2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var33->_M_nxt[2]._M_nxt" (subscript_expression "p_Var33->_M_nxt[2]" (field_expression "p_Var33->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) })) (break_statement "break;" break ;) })) (expression_statement "p_Var35 = p_Var22->_M_nxt;" (assignment_expression "p_Var35 = p_Var22->_M_nxt" identifier = (field_expression "p_Var22->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (p_Var35 == (_Hash_node_base *)0x0) break;" if (parenthesized_expression "(p_Var35 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var35 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "p_Var11 = p_Var35[1]._M_nxt;" (assignment_expression "p_Var11 = p_Var35[1]._M_nxt" identifier = (field_expression "p_Var35[1]._M_nxt" (subscript_expression "p_Var35[1]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (uVar3 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "p_Var33 = p_Var22;" (assignment_expression "p_Var33 = p_Var22" identifier = identifier) ;) }) while (parenthesized_expression "((uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3)" ( (binary_expression "(uint)in_a3 % uVar3 == (uint)p_Var11 % uVar3" (binary_expression "(uint)in_a3 % uVar3" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier) == (binary_expression "(uint)p_Var11 % uVar3" (cast_expression "(uint)p_Var11" ( (type_descriptor "uint" type_identifier) ) identifier) % identifier)) )) ;) })) (expression_statement "uVar3 = this->got_page_offset_next_;" (assignment_expression "uVar3 = this->got_page_offset_next_" identifier = (field_expression "this->got_page_offset_next_" identifier -> field_identifier)) ;) (if_statement "if (uVar3 < this->page_gotno_ * 8 + this->got_page_offset_start_) {\n    puVar4 = (uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20);\n    iVar12 = *(int *)(value._0_4_ + 0x80);\n    *puVar4 = uVar3;\n    piVar5 = (int *)(iVar12 + uVar3);\n    this->got_page_offset_next_ = this->got_page_offset_next_ + 8;\n    *piVar5 = ((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +\n              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000;\n    piVar5[1] = (((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +\n                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000;\n    return uVar3;\n  }" if (parenthesized_expression "(uVar3 < this->page_gotno_ * 8 + this->got_page_offset_start_)" ( (binary_expression "uVar3 < this->page_gotno_ * 8 + this->got_page_offset_start_" identifier < (binary_expression "this->page_gotno_ * 8 + this->got_page_offset_start_" (binary_expression "this->page_gotno_ * 8" (field_expression "this->page_gotno_" identifier -> field_identifier) * number_literal) + (field_expression "this->got_page_offset_start_" identifier -> field_identifier))) )) (compound_statement "{\n    puVar4 = (uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20);\n    iVar12 = *(int *)(value._0_4_ + 0x80);\n    *puVar4 = uVar3;\n    piVar5 = (int *)(iVar12 + uVar3);\n    this->got_page_offset_next_ = this->got_page_offset_next_ + 8;\n    *piVar5 = ((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +\n              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000;\n    piVar5[1] = (((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +\n                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000;\n    return uVar3;\n  }" { (expression_statement "puVar4 = (uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20);" (assignment_expression "puVar4 = (uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20)" identifier = (cast_expression "(uint *)(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20)" (parenthesized_expression "(*(code *)PTR_operator___004c1cb0)" ( (pointer_expression "*(code *)PTR_operator___004c1cb0" * (cast_expression "(code *)PTR_operator___004c1cb0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this->got_page_offsets_,local_20)" ( (pointer_expression "&this->got_page_offsets_" & (field_expression "this->got_page_offsets_" identifier -> field_identifier)) , identifier ))))) ;) (expression_statement "iVar12 = *(int *)(value._0_4_ + 0x80);" (assignment_expression "iVar12 = *(int *)(value._0_4_ + 0x80)" identifier = (pointer_expression "*(int *)(value._0_4_ + 0x80)" * (cast_expression "(int *)(value._0_4_ + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(value._0_4_ + 0x80)" ( (binary_expression "value._0_4_ + 0x80" (field_expression "value._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "*puVar4 = uVar3;" (assignment_expression "*puVar4 = uVar3" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "piVar5 = (int *)(iVar12 + uVar3);" (assignment_expression "piVar5 = (int *)(iVar12 + uVar3)" identifier = (cast_expression "(int *)(iVar12 + uVar3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + uVar3)" ( (binary_expression "iVar12 + uVar3" identifier + identifier) )))) ;) (expression_statement "this->got_page_offset_next_ = this->got_page_offset_next_ + 8;" (assignment_expression "this->got_page_offset_next_ = this->got_page_offset_next_ + 8" (field_expression "this->got_page_offset_next_" identifier -> field_identifier) = (binary_expression "this->got_page_offset_next_ + 8" (field_expression "this->got_page_offset_next_" identifier -> field_identifier) + number_literal)) ;) (expression_statement "*piVar5 = ((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +\n              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar5 = ((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +\n              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar5" * identifier) = (binary_expression "((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10) +\n              (((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "(((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "(((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10)" ( (binary_expression "((uint)in_a3 >> 0x10) << 0x18 | ((uint)in_a3 >> 0x18) << 0x10" (binary_expression "((uint)in_a3 >> 0x10) << 0x18" (parenthesized_expression "((uint)in_a3 >> 0x10)" ( (binary_expression "(uint)in_a3 >> 0x10" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal) | (binary_expression "((uint)in_a3 >> 0x18) << 0x10" (parenthesized_expression "((uint)in_a3 >> 0x18)" ( (binary_expression "(uint)in_a3 >> 0x18" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "(((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff)" ( (binary_expression "((uint)in_a3 & 0xff) << 8 | (uint)in_a3 >> 8 & 0xff" (binary_expression "((uint)in_a3 & 0xff) << 8" (parenthesized_expression "((uint)in_a3 & 0xff)" ( (binary_expression "(uint)in_a3 & 0xff" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (binary_expression "(uint)in_a3 >> 8 & 0xff" (binary_expression "(uint)in_a3 >> 8" (cast_expression "(uint)in_a3" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar5[1] = (((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +\n                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar5[1] = (((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +\n                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = (binary_expression "(((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10) +\n                ((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10)" ( (binary_expression "(in_a2 >> 0x10) << 0x18 | (in_a2 >> 0x18) << 0x10" (binary_expression "(in_a2 >> 0x10) << 0x18" (parenthesized_expression "(in_a2 >> 0x10)" ( (binary_expression "in_a2 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(in_a2 >> 0x18) << 0x10" (parenthesized_expression "(in_a2 >> 0x18)" ( (binary_expression "in_a2 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff)" ( (binary_expression "(in_a2 & 0xff) << 8 | in_a2 >> 8 & 0xff" (binary_expression "(in_a2 & 0xff) << 8" (parenthesized_expression "(in_a2 & 0xff)" ( (binary_expression "in_a2 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "in_a2 >> 8 & 0xff" (binary_expression "in_a2 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "pMVar23 = (Mips_output_data_got<64,_false> *)0x1871;" (assignment_expression "pMVar23 = (Mips_output_data_got<64,_false> *)0x1871" identifier = (parenthesized_expression "(Mips_output_data_got<64,_false> *)0x1871" ( (comma_expression "Mips_output_data_got<64,_false> *)0x1871" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)0x1871" identifier > (pointer_expression "*)0x1871" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "puVar27 = PTR_s__s_004c1a50 + -0x37c0;" (assignment_expression "puVar27 = PTR_s__s_004c1a50 + -0x37c0" identifier = (binary_expression "PTR_s__s_004c1a50 + -0x37c0" identifier + number_literal)) ;) (expression_statement "pMVar18 = (Mips_got_info<64,_false> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588);" (assignment_expression "pMVar18 = (Mips_got_info<64,_false> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588)" identifier = (call_expression "(Mips_got_info<64,_false> *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588)" (parenthesized_expression "(Mips_got_info<64,_false> *)" ( (comma_expression "Mips_got_info<64,_false> *" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" identifier + number_literal) )))) ;) (expression_statement "p_Var11 = in_a3;" (assignment_expression "p_Var11 = in_a3" identifier = identifier) ;) (expression_statement "puVar43 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar43 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)();" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)()" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar4 = (uint *)(puVar43 + 0x3c288c);" (assignment_expression "puVar4 = (uint *)(puVar43 + 0x3c288c)" identifier = (cast_expression "(uint *)(puVar43 + 0x3c288c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c288c)" ( (binary_expression "puVar43 + 0x3c288c" identifier + number_literal) )))) ;) (expression_statement "uVar42 = pMVar18->local_gotno_;" (assignment_expression "uVar42 = pMVar18->local_gotno_" identifier = (field_expression "pMVar18->local_gotno_" identifier -> field_identifier)) ;) (expression_statement "uVar37 = ((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10;" (assignment_expression "uVar37 = ((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" identifier = (binary_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10)" ( (binary_expression "(uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10" (binary_expression "(uVar42 >> 0x10) << 0x18" (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar42 >> 0x18) << 0x10" (parenthesized_expression "(uVar42 >> 0x18)" ( (binary_expression "uVar42 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal)) ;) (expression_statement "uVar38 = uVar37 + ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar38 = uVar37 + ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "uVar37 + ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" identifier + (binary_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff)" ( (binary_expression "(uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff" (binary_expression "(uVar42 & 0xff) << 8" (parenthesized_expression "(uVar42 & 0xff)" ( (binary_expression "uVar42 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar42 >> 8 & 0xff" (binary_expression "uVar42 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (labeled_statement "got_00 = (Mips_output_data_got<64,_false> *)\n           &gold::Position_dependent_options::default_options_.relax_.user_set_via_option;" statement_identifier (ERROR "= (Mips_output_data_got<64,_false> *)\n           &gold::Position_dependent_options:" = ( (comma_expression "Mips_output_data_got<64,_false> *)\n           &gold" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)\n           &gold" identifier > (pointer_expression "*)\n           &gold" * (ERROR ")" )) (pointer_expression "&gold" & identifier)))) : : identifier :) : (expression_statement "default_options_.relax_.user_set_via_option;" (field_expression "default_options_.relax_.user_set_via_option" (field_expression "default_options_.relax_" identifier . field_identifier) . field_identifier) ;)) (if_statement "if (cStack_1d != '\0') {\n    p_Var11 = (_Hash_node_base *)(uVar37 * 0x10000);\n    got_00 = (Mips_output_data_got<64,_false> *)0x0;\n    uStack_24 = (int)&p_Var11->_M_nxt + iStack_1c;\n  }" if (parenthesized_expression "(cStack_1d != '\0')" ( (binary_expression "cStack_1d != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    p_Var11 = (_Hash_node_base *)(uVar37 * 0x10000);\n    got_00 = (Mips_output_data_got<64,_false> *)0x0;\n    uStack_24 = (int)&p_Var11->_M_nxt + iStack_1c;\n  }" { (expression_statement "p_Var11 = (_Hash_node_base *)(uVar37 * 0x10000);" (assignment_expression "p_Var11 = (_Hash_node_base *)(uVar37 * 0x10000)" identifier = (cast_expression "(_Hash_node_base *)(uVar37 * 0x10000)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar37 * 0x10000)" ( (binary_expression "uVar37 * 0x10000" identifier * number_literal) )))) ;) (expression_statement "got_00 = (Mips_output_data_got<64,_false> *)0x0;" (assignment_expression "got_00 = (Mips_output_data_got<64,_false> *)0x0" identifier = (parenthesized_expression "(Mips_output_data_got<64,_false> *)0x0" ( (comma_expression "Mips_output_data_got<64,_false> *)0x0" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "uStack_24 = (int)&p_Var11->_M_nxt + iStack_1c;" (assignment_expression "uStack_24 = (int)&p_Var11->_M_nxt + iStack_1c" identifier = (binary_expression "(int)&p_Var11->_M_nxt + iStack_1c" (cast_expression "(int)&p_Var11->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var11->_M_nxt" & (field_expression "p_Var11->_M_nxt" identifier -> field_identifier))) + identifier)) ;) })) (expression_statement "uVar37 = *(uint *)(puVar27 + 8);" (assignment_expression "uVar37 = *(uint *)(puVar27 + 8)" identifier = (pointer_expression "*(uint *)(puVar27 + 8)" * (cast_expression "(uint *)(puVar27 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 8)" ( (binary_expression "puVar27 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((uVar37 & 1) == 0) {\n    this_00 = *(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8);\n    if ((int)(uVar37 << 0x1b) < 0) {\n      this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);\n      uVar6 = this_00->page_gotno_;\n      if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }\n      uVar34 = this_00->tls_ldm_offset_;\n      if (uVar34 == 0) {\n        trap(7);\n      }\n      pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);\n      pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n      if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }\n      got_00 = pMVar23;\n      (*pcVar44)(this_00,pMVar23,uVar37 >> 5);\n      p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);\n      in_stack_ffffff9c = uVar6;\n      goto LAB_00106ac4;\n    }\n  }\n  else {\n    p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14));\n    this_00 = pMVar18;\nLAB_00106ac4:\n    iVar12 = *(int *)(iStack_18 + 0x14);\n    p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000);\n    if (iVar12 == 0) {\nLAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);\n      (*pcVar44)();\nLAB_00106c68:\n      (*(pcVar44 + 0x7664))();\n    }\n    else {\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }\n    (*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))();\n  }" if (parenthesized_expression "((uVar37 & 1) == 0)" ( (binary_expression "(uVar37 & 1) == 0" (parenthesized_expression "(uVar37 & 1)" ( (binary_expression "uVar37 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    this_00 = *(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8);\n    if ((int)(uVar37 << 0x1b) < 0) {\n      this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);\n      uVar6 = this_00->page_gotno_;\n      if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }\n      uVar34 = this_00->tls_ldm_offset_;\n      if (uVar34 == 0) {\n        trap(7);\n      }\n      pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);\n      pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n      if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }\n      got_00 = pMVar23;\n      (*pcVar44)(this_00,pMVar23,uVar37 >> 5);\n      p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);\n      in_stack_ffffff9c = uVar6;\n      goto LAB_00106ac4;\n    }\n  }" { (expression_statement "this_00 = *(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8);" (assignment_expression "this_00 = *(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8)" identifier = (pointer_expression "*(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8)" * (call_expression "(Mips_got_info<64,_false> **)(puVar43 + 0x3ba8c8)" (parenthesized_expression "(Mips_got_info<64,_false> **)" ( (comma_expression "Mips_got_info<64,_false> **" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(puVar43 + 0x3ba8c8)" ( (binary_expression "puVar43 + 0x3ba8c8" identifier + number_literal) ))))) ;) (if_statement "if ((int)(uVar37 << 0x1b) < 0) {\n      this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);\n      uVar6 = this_00->page_gotno_;\n      if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }\n      uVar34 = this_00->tls_ldm_offset_;\n      if (uVar34 == 0) {\n        trap(7);\n      }\n      pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);\n      pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n      if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }\n      got_00 = pMVar23;\n      (*pcVar44)(this_00,pMVar23,uVar37 >> 5);\n      p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);\n      in_stack_ffffff9c = uVar6;\n      goto LAB_00106ac4;\n    }" if (parenthesized_expression "((int)(uVar37 << 0x1b) < 0)" ( (binary_expression "(int)(uVar37 << 0x1b) < 0" (cast_expression "(int)(uVar37 << 0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar37 << 0x1b)" ( (binary_expression "uVar37 << 0x1b" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n      this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);\n      uVar6 = this_00->page_gotno_;\n      if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }\n      uVar34 = this_00->tls_ldm_offset_;\n      if (uVar34 == 0) {\n        trap(7);\n      }\n      pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);\n      pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n      if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }\n      got_00 = pMVar23;\n      (*pcVar44)(this_00,pMVar23,uVar37 >> 5);\n      p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);\n      in_stack_ffffff9c = uVar6;\n      goto LAB_00106ac4;\n    }" { (expression_statement "this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10);" (assignment_expression "this_00 = *(Mips_got_info<64,_false> **)(puVar27 + 0x10)" identifier = (pointer_expression "*(Mips_got_info<64,_false> **)(puVar27 + 0x10)" * (call_expression "(Mips_got_info<64,_false> **)(puVar27 + 0x10)" (parenthesized_expression "(Mips_got_info<64,_false> **)" ( (comma_expression "Mips_got_info<64,_false> **" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(puVar27 + 0x10)" ( (binary_expression "puVar27 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = this_00->page_gotno_;" (assignment_expression "uVar6 = this_00->page_gotno_" identifier = (field_expression "this_00->page_gotno_" identifier -> field_identifier)) ;) (if_statement "if ((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)) {\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }" if (parenthesized_expression "((got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00))" ( (parenthesized_expression "(got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00))" ( (binary_expression "got_00 == (Mips_output_data_got<64,_false> *)0x0) &&\n         (uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)" (binary_expression "got_00 == (Mips_output_data_got<64,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_got<64,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<64,_false> *)0x0" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00)" ( (comma_expression "uVar34 = uVar6 + uStack_24, uStack_24 < 0xffffff00" (assignment_expression "uVar34 = uVar6 + uStack_24" identifier = (binary_expression "uVar6 + uStack_24" identifier + identifier)) , (binary_expression "uStack_24 < 0xffffff00" identifier < number_literal)) ))) )) )) (compound_statement "{\n        uStack_24 = 0;\n        uVar6 = uVar34;\n      }" { (expression_statement "uStack_24 = 0;" (assignment_expression "uStack_24 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = uVar34;" (assignment_expression "uVar6 = uVar34" identifier = identifier) ;) })) (expression_statement "uVar34 = this_00->tls_ldm_offset_;" (assignment_expression "uVar34 = this_00->tls_ldm_offset_" identifier = (field_expression "this_00->tls_ldm_offset_" identifier -> field_identifier)) ;) (if_statement "if (uVar34 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar34 == 0)" ( (binary_expression "uVar34 == 0" identifier == number_literal) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4);" (assignment_expression "pMVar36 = *(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4)" identifier = (pointer_expression "*(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4)" * (call_expression "(Mips_output_data_got<64,_false> **)(this_00->tls_gotno_ + (uVar6 % uVar34) * 4)" (parenthesized_expression "(Mips_output_data_got<64,_false> **)" ( (comma_expression "Mips_output_data_got<64,_false> **" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(this_00->tls_gotno_ + (uVar6 % uVar34) * 4)" ( (binary_expression "this_00->tls_gotno_ + (uVar6 % uVar34) * 4" (field_expression "this_00->tls_gotno_" identifier -> field_identifier) + (binary_expression "(uVar6 % uVar34) * 4" (parenthesized_expression "(uVar6 % uVar34)" ( (binary_expression "uVar6 % uVar34" identifier % identifier) )) * number_literal)) ))))) ;) (expression_statement "pcVar44 = *(code **)(puVar43 + 0x3bb19c);" (assignment_expression "pcVar44 = *(code **)(puVar43 + 0x3bb19c)" identifier = (pointer_expression "*(code **)(puVar43 + 0x3bb19c)" * (cast_expression "(code **)(puVar43 + 0x3bb19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar43 + 0x3bb19c)" ( (binary_expression "puVar43 + 0x3bb19c" identifier + number_literal) ))))) ;) (if_statement "if (pMVar36 != (Mips_output_data_got<64,_false> *)0x0) {\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }" if (parenthesized_expression "(pMVar36 != (Mips_output_data_got<64,_false> *)0x0)" ( (binary_expression "pMVar36 != (Mips_output_data_got<64,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_output_data_got<64,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<64,_false> *)0x0" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n        pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;\n        uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;\n        do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);\n      }" { (expression_statement "pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data;" (assignment_expression "pMVar24 = (Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data" identifier = (parenthesized_expression "(Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data" ( (comma_expression "Mips_output_data_got<64,_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data" identifier > (pointer_expression "*)\n                  (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data" * (ERROR ")" )) (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                  _vptr_Output_data" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build.super_Output_section_data" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                  super_Output_section_data_build" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base" (parenthesized_expression "(pMVar36->super_Output_data_got<64,_false>)" ( (comma_expression "pMVar36->super_Output_data_got<64,_false" (binary_expression "pMVar36->super_Output_data_got<64" (field_expression "pMVar36->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) ))) ;) (expression_statement "uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_;" (assignment_expression "uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_" identifier = (pointer_expression "*(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_" * (cast_expression "(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_" & (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data.address_" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data.\n                           super_Output_data" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build.super_Output_section_data" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                           super_Output_section_data_build" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base" (parenthesized_expression "(pMVar24->super_Output_data_got<64,_false>)" ( (comma_expression "pMVar24->super_Output_data_got<64,_false" (binary_expression "pMVar24->super_Output_data_got<64" (field_expression "pMVar24->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))))) ;) (do_statement "do {\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        } while (uVar6 % uVar34 == uVar13 % uVar34);" do (compound_statement "{\n          got_00 = pMVar24;\n          if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }\n          pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;\n          if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }\n          uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;\n          if (uVar34 == 0) {\n            trap(7);\n          }\n          pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n          pMVar36 = got_00;\n        }" { (expression_statement "got_00 = pMVar24;" (assignment_expression "got_00 = pMVar24" identifier = identifier) ;) (if_statement "if (uVar6 == uVar13) {\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }" if (parenthesized_expression "(uVar6 == uVar13)" ( (binary_expression "uVar6 == uVar13" identifier == identifier) )) (compound_statement "{\n            pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }\n            break;\n          }" { (expression_statement "pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data;" (assignment_expression "pp_Var14 = (pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data" identifier = (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                       _vptr_Output_data" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build.super_Output_section_data" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                       super_Output_section_data_build" (field_expression "(pMVar36->super_Output_data_got<64,_false>).super_Output_data_got_base" (parenthesized_expression "(pMVar36->super_Output_data_got<64,_false>)" ( (comma_expression "pMVar36->super_Output_data_got<64,_false" (binary_expression "pMVar36->super_Output_data_got<64" (field_expression "pMVar36->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar44 = *(code **)(puVar43 + 0x3bb19c);" (assignment_expression "pcVar44 = *(code **)(puVar43 + 0x3bb19c)" identifier = (pointer_expression "*(code **)(puVar43 + 0x3bb19c)" * (cast_expression "(code **)(puVar43 + 0x3bb19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar43 + 0x3bb19c)" ( (binary_expression "puVar43 + 0x3bb19c" identifier + number_literal) ))))) ;) (if_statement "if (pp_Var14 != (_func_int_varargs **)0x0) {\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }" if (parenthesized_expression "(pp_Var14 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var14 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              p_Var31 = pp_Var14[5] + uStack_24;\n              goto LAB_00106ac4;\n            }" { (expression_statement "p_Var31 = pp_Var14[5] + uStack_24;" (assignment_expression "p_Var31 = pp_Var14[5] + uStack_24" identifier = (binary_expression "pp_Var14[5] + uStack_24" (subscript_expression "pp_Var14[5]" identifier [ number_literal ]) + identifier)) ;) (goto_statement "goto LAB_00106ac4;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (expression_statement "pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data;" (assignment_expression "pMVar24 = (Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data" identifier = (parenthesized_expression "(Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data" ( (comma_expression "Mips_output_data_got<64,_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data" identifier > (pointer_expression "*)\n                    (got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data" * (ERROR ")" )) (field_expression "(got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                    _vptr_Output_data" (field_expression "(got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build.super_Output_section_data" (field_expression "(got_00->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                    super_Output_section_data_build" (field_expression "(got_00->super_Output_data_got<64,_false>).super_Output_data_got_base" (parenthesized_expression "(got_00->super_Output_data_got<64,_false>)" ( (comma_expression "got_00->super_Output_data_got<64,_false" (binary_expression "got_00->super_Output_data_got<64" (field_expression "got_00->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) ))) ;) (if_statement "if (pMVar24 == (Mips_output_data_got<64,_false> *)0x0) {\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }" if (parenthesized_expression "(pMVar24 == (Mips_output_data_got<64,_false> *)0x0)" ( (binary_expression "pMVar24 == (Mips_output_data_got<64,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_got<64,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<64,_false> *)0x0" (binary_expression "Mips_output_data_got<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n            pcVar44 = *(code **)(puVar43 + 0x3bb19c);\n            break;\n          }" { (expression_statement "pcVar44 = *(code **)(puVar43 + 0x3bb19c);" (assignment_expression "pcVar44 = *(code **)(puVar43 + 0x3bb19c)" identifier = (pointer_expression "*(code **)(puVar43 + 0x3bb19c)" * (cast_expression "(code **)(puVar43 + 0x3bb19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar43 + 0x3bb19c)" ( (binary_expression "puVar43 + 0x3bb19c" identifier + number_literal) ))))) ;) (break_statement "break;" break ;) })) (expression_statement "uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_;" (assignment_expression "uVar13 = *(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_" identifier = (pointer_expression "*(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_" * (cast_expression "(uint *)&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_" & (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data.address_" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data.\n                             super_Output_data" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build.super_Output_section_data" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base.\n                             super_Output_section_data_build" (field_expression "(pMVar24->super_Output_data_got<64,_false>).super_Output_data_got_base" (parenthesized_expression "(pMVar24->super_Output_data_got<64,_false>)" ( (comma_expression "pMVar24->super_Output_data_got<64,_false" (binary_expression "pMVar24->super_Output_data_got<64" (field_expression "pMVar24->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier))))) ;) (if_statement "if (uVar34 == 0) {\n            trap(7);\n          }" if (parenthesized_expression "(uVar34 == 0)" ( (binary_expression "uVar34 == 0" identifier == number_literal) )) (compound_statement "{\n            trap(7);\n          }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "pcVar44 = *(code **)(puVar43 + 0x3bb19c);" (assignment_expression "pcVar44 = *(code **)(puVar43 + 0x3bb19c)" identifier = (pointer_expression "*(code **)(puVar43 + 0x3bb19c)" * (cast_expression "(code **)(puVar43 + 0x3bb19c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar43 + 0x3bb19c)" ( (binary_expression "puVar43 + 0x3bb19c" identifier + number_literal) ))))) ;) (expression_statement "pMVar36 = got_00;" (assignment_expression "pMVar36 = got_00" identifier = identifier) ;) }) while (parenthesized_expression "(uVar6 % uVar34 == uVar13 % uVar34)" ( (binary_expression "uVar6 % uVar34 == uVar13 % uVar34" (binary_expression "uVar6 % uVar34" identifier % identifier) == (binary_expression "uVar13 % uVar34" identifier % identifier)) )) ;) })) (expression_statement "got_00 = pMVar23;" (assignment_expression "got_00 = pMVar23" identifier = identifier) ;) (expression_statement "(*pcVar44)(this_00,pMVar23,uVar37 >> 5);" (call_expression "(*pcVar44)(this_00,pMVar23,uVar37 >> 5)" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "(this_00,pMVar23,uVar37 >> 5)" ( identifier , identifier , (binary_expression "uVar37 >> 5" identifier >> number_literal) ))) ;) (expression_statement "p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1);" (assignment_expression "p_Var31 = (_func_int_varargs *)(uStack_24 + extraout_v1)" identifier = (cast_expression "(_func_int_varargs *)(uStack_24 + extraout_v1)" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_24 + extraout_v1)" ( (binary_expression "uStack_24 + extraout_v1" identifier + identifier) )))) ;) (expression_statement "in_stack_ffffff9c = uVar6;" (assignment_expression "in_stack_ffffff9c = uVar6" identifier = identifier) ;) (goto_statement "goto LAB_00106ac4;" goto statement_identifier ;) })) }) (else_clause "else {\n    p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14));\n    this_00 = pMVar18;\nLAB_00106ac4:\n    iVar12 = *(int *)(iStack_18 + 0x14);\n    p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000);\n    if (iVar12 == 0) {\nLAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);\n      (*pcVar44)();\nLAB_00106c68:\n      (*(pcVar44 + 0x7664))();\n    }\n    else {\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }\n    (*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))();\n  }" else (compound_statement "{\n    p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14));\n    this_00 = pMVar18;\nLAB_00106ac4:\n    iVar12 = *(int *)(iStack_18 + 0x14);\n    p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000);\n    if (iVar12 == 0) {\nLAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);\n      (*pcVar44)();\nLAB_00106c68:\n      (*(pcVar44 + 0x7664))();\n    }\n    else {\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }\n    (*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))();\n  }" { (expression_statement "p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14));" (assignment_expression "p_Var31 = (_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14))" identifier = (cast_expression "(_func_int_varargs *)(uStack_24 + *(int *)(puVar27 + 0x14))" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_24 + *(int *)(puVar27 + 0x14))" ( (binary_expression "uStack_24 + *(int *)(puVar27 + 0x14)" identifier + (pointer_expression "*(int *)(puVar27 + 0x14)" * (cast_expression "(int *)(puVar27 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar27 + 0x14)" ( (binary_expression "puVar27 + 0x14" identifier + number_literal) ))))) )))) ;) (expression_statement "this_00 = pMVar18;" (assignment_expression "this_00 = pMVar18" identifier = identifier) ;) (labeled_statement "LAB_00106ac4:\n    iVar12 = *(int *)(iStack_18 + 0x14);" statement_identifier : (expression_statement "iVar12 = *(int *)(iStack_18 + 0x14);" (assignment_expression "iVar12 = *(int *)(iStack_18 + 0x14)" identifier = (pointer_expression "*(int *)(iStack_18 + 0x14)" * (cast_expression "(int *)(iStack_18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_18 + 0x14)" ( (binary_expression "iStack_18 + 0x14" identifier + number_literal) ))))) ;)) (expression_statement "p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000);" (assignment_expression "p_Var11 = (_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000)" identifier = (cast_expression "(_Hash_node_base *)((uint)(p_Var31 + 0x8000) & 0xffff0000)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(p_Var31 + 0x8000) & 0xffff0000)" ( (binary_expression "(uint)(p_Var31 + 0x8000) & 0xffff0000" (call_expression "(uint)(p_Var31 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var31 + 0x8000)" ( (binary_expression "p_Var31 + 0x8000" identifier + number_literal) ))) & number_literal) )))) ;) (if_statement "if (iVar12 == 0) {\nLAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);\n      (*pcVar44)();\nLAB_00106c68:\n      (*(pcVar44 + 0x7664))();\n    }\n    else {\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);\n      (*pcVar44)();\nLAB_00106c68:\n      (*(pcVar44 + 0x7664))();\n    }" { (labeled_statement "LAB_00106c58:\n      pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);" statement_identifier : (expression_statement "pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0);" (assignment_expression "pcVar44 = (code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0)" identifier = (cast_expression "(code *)(*(int *)(puVar43 + 0x3bb098) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar43 + 0x3bb098) + 0x4fe0)" ( (binary_expression "*(int *)(puVar43 + 0x3bb098) + 0x4fe0" (pointer_expression "*(int *)(puVar43 + 0x3bb098)" * (cast_expression "(int *)(puVar43 + 0x3bb098)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3bb098)" ( (binary_expression "puVar43 + 0x3bb098" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "(*pcVar44)();" (call_expression "(*pcVar44)()" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_00106c68:\n      (*(pcVar44 + 0x7664))();" statement_identifier : (expression_statement "(*(pcVar44 + 0x7664))();" (call_expression "(*(pcVar44 + 0x7664))()" (parenthesized_expression "(*(pcVar44 + 0x7664))" ( (pointer_expression "*(pcVar44 + 0x7664)" * (parenthesized_expression "(pcVar44 + 0x7664)" ( (binary_expression "pcVar44 + 0x7664" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;)) }) (else_clause "else {\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }" else (compound_statement "{\n      if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }\n      if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }\n    }" { (if_statement "if (*(int *)(iVar12 + 0x8c) == 0) {\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }\n      else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }" if (parenthesized_expression "(*(int *)(iVar12 + 0x8c) == 0)" ( (binary_expression "*(int *)(iVar12 + 0x8c) == 0" (pointer_expression "*(int *)(iVar12 + 0x8c)" * (cast_expression "(int *)(iVar12 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x8c)" ( (binary_expression "iVar12 + 0x8c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);\n      }" { (expression_statement "this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88);" (assignment_expression "this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x88)" identifier = (pointer_expression "*(Mips_got_info<64,_false> **)(iVar12 + 0x88)" * (call_expression "(Mips_got_info<64,_false> **)(iVar12 + 0x88)" (parenthesized_expression "(Mips_got_info<64,_false> **)" ( (comma_expression "Mips_got_info<64,_false> **" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(iVar12 + 0x88)" ( (binary_expression "iVar12 + 0x88" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }" else (compound_statement "{\n        this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);\n      }" { (expression_statement "this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4);" (assignment_expression "this_00 = *(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" identifier = (pointer_expression "*(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" * (parenthesized_expression "(Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" ( (comma_expression "Mips_got_info<64,_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> **)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" identifier > (pointer_expression "**)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" * (pointer_expression "*)\n                   ((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" * (ERROR ")" )) (parenthesized_expression "((int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4)" ( (comma_expression "(int)&pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4" (binary_expression "(int)&pMVar23[3].super_Output_data_got<64" (cast_expression "(int)&pMVar23[3].super_Output_data_got" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pMVar23[3].super_Output_data_got" & (field_expression "pMVar23[3].super_Output_data_got" (subscript_expression "pMVar23[3]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_ + 4" (field_expression "_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data.offset_" (field_expression "_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data.\n                          super_Output_data" (field_expression "_false>.super_Output_data_got_base.\n                          super_Output_section_data_build.super_Output_section_data" (field_expression "_false>.super_Output_data_got_base.\n                          super_Output_section_data_build" (field_expression "_false>.super_Output_data_got_base" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))))) )))) ;) }))) (if_statement "if (this_00 != (Mips_got_info<64,_false> *)0x0) {\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }" if (parenthesized_expression "(this_00 != (Mips_got_info<64,_false> *)0x0)" ( (binary_expression "this_00 != (Mips_got_info<64,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_got_info<64,_false> *)0x0)" ( (comma_expression "Mips_got_info<64,_false> *)0x0" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n        uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);\n        iVar12 = *(int *)(iStack_18 + 0x14);\n        if (iVar12 == 0) goto LAB_00106c58;\n        this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);\n        pcVar44 = *(code **)(puVar43 + 0x3bb098);\n        if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }\n        goto LAB_00106c68;\n      }" { (expression_statement "uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00);" (assignment_expression "uVar37 = get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00)" identifier = (call_expression "get_got_page_offset(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00)" identifier (argument_list "(this_00,CONCAT44(iVar12,in_stack_ffffff9c),got_00)" ( identifier , (call_expression "CONCAT44(iVar12,in_stack_ffffff9c)" identifier (argument_list "(iVar12,in_stack_ffffff9c)" ( identifier , identifier ))) , identifier )))) ;) (expression_statement "iVar12 = *(int *)(iStack_18 + 0x14);" (assignment_expression "iVar12 = *(int *)(iStack_18 + 0x14)" identifier = (pointer_expression "*(int *)(iStack_18 + 0x14)" * (cast_expression "(int *)(iStack_18 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_18 + 0x14)" ( (binary_expression "iStack_18 + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (iVar12 == 0) goto LAB_00106c58;" if (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00106c58;" goto statement_identifier ;)) (expression_statement "this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20);" (assignment_expression "this_00 = *(Mips_got_info<64,_false> **)(iVar12 + 0x20)" identifier = (pointer_expression "*(Mips_got_info<64,_false> **)(iVar12 + 0x20)" * (call_expression "(Mips_got_info<64,_false> **)(iVar12 + 0x20)" (parenthesized_expression "(Mips_got_info<64,_false> **)" ( (comma_expression "Mips_got_info<64,_false> **" (binary_expression "Mips_got_info<64" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pcVar44 = *(code **)(puVar43 + 0x3bb098);" (assignment_expression "pcVar44 = *(code **)(puVar43 + 0x3bb098)" identifier = (pointer_expression "*(code **)(puVar43 + 0x3bb098)" * (cast_expression "(code **)(puVar43 + 0x3bb098)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar43 + 0x3bb098)" ( (binary_expression "puVar43 + 0x3bb098" identifier + number_literal) ))))) ;) (if_statement "if ((int)this_00 < 0) {\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }" if (parenthesized_expression "((int)this_00 < 0)" ( (binary_expression "(int)this_00 < 0" (cast_expression "(int)this_00" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);\n          uVar37 = uVar37 + *(int *)(iVar12 + 0xc);\n          if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }\n          if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }\n          *unaff_s1 = (int)uVar37 >> 0x1f;\n          unaff_s1[1] = uVar37;\n          return 0;\n        }" { (expression_statement "iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18);" (assignment_expression "iVar19 = *(int *)(*(int *)(iVar12 + 0x68) + 0x18)" identifier = (pointer_expression "*(int *)(*(int *)(iVar12 + 0x68) + 0x18)" * (cast_expression "(int *)(*(int *)(iVar12 + 0x68) + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 0x68) + 0x18)" ( (binary_expression "*(int *)(iVar12 + 0x68) + 0x18" (pointer_expression "*(int *)(iVar12 + 0x68)" * (cast_expression "(int *)(iVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x68)" ( (binary_expression "iVar12 + 0x68" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar37 = uVar37 + *(int *)(iVar12 + 0xc);" (assignment_expression "uVar37 = uVar37 + *(int *)(iVar12 + 0xc)" identifier = (binary_expression "uVar37 + *(int *)(iVar12 + 0xc)" identifier + (pointer_expression "*(int *)(iVar12 + 0xc)" * (cast_expression "(int *)(iVar12 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0xc)" ( (binary_expression "iVar12 + 0xc" identifier + number_literal) )))))) ;) (if_statement "if (iVar19 != 0) {\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);\n            iVar19 = *(int *)(iVar19 + 0x34);\n            if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }\n            uVar37 = uVar37 - iVar19;\n          }" { (expression_statement "iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14);" (assignment_expression "iVar12 = *(int *)(*(int *)(iVar12 + 0x68) + 0x14)" identifier = (pointer_expression "*(int *)(*(int *)(iVar12 + 0x68) + 0x14)" * (cast_expression "(int *)(*(int *)(iVar12 + 0x68) + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 0x68) + 0x14)" ( (binary_expression "*(int *)(iVar12 + 0x68) + 0x14" (pointer_expression "*(int *)(iVar12 + 0x68)" * (cast_expression "(int *)(iVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x68)" ( (binary_expression "iVar12 + 0x68" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar19 + 0x34);" (assignment_expression "iVar19 = *(int *)(iVar19 + 0x34)" identifier = (pointer_expression "*(int *)(iVar19 + 0x34)" * (cast_expression "(int *)(iVar19 + 0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x34)" ( (binary_expression "iVar19 + 0x34" identifier + number_literal) ))))) ;) (if_statement "if (((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)) {\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }" if (parenthesized_expression "(((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0))" ( (binary_expression "((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)) &&\n               (iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)" (parenthesized_expression "((iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0))" ( (binary_expression "(iVar12 != 0) && (*(int *)(iVar12 + 0x8c) != 0)" (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar12 + 0x8c) != 0)" ( (binary_expression "*(int *)(iVar12 + 0x8c) != 0" (pointer_expression "*(int *)(iVar12 + 0x8c)" * (cast_expression "(int *)(iVar12 + 0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x8c)" ( (binary_expression "iVar12 + 0x8c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0)" ( (comma_expression "iVar12 = (int)pMVar23[3].super_Output_data_got<64,_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0" (assignment_expression "iVar12 = (int)pMVar23[3].super_Output_data_got<64" identifier = (binary_expression "(int)pMVar23[3].super_Output_data_got<64" (cast_expression "(int)pMVar23[3].super_Output_data_got" ( (type_descriptor "int" primitive_type) ) (field_expression "pMVar23[3].super_Output_data_got" (subscript_expression "pMVar23[3]" identifier [ number_literal ]) . field_identifier)) < number_literal)) , (comma_expression "_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_, iVar12 != 0" (field_expression "_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data.offset_" (field_expression "_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data.\n                              super_Output_data" (field_expression "_false>.super_Output_data_got_base\n                              .super_Output_section_data_build.super_Output_section_data" (field_expression "_false>.super_Output_data_got_base\n                              .super_Output_section_data_build" (field_expression "_false>.super_Output_data_got_base" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) , (binary_expression "iVar12 != 0" identifier != number_literal))) ))) )) (compound_statement "{\n              iVar19 = iVar19 + *(int *)(iVar12 + 0x98);\n            }" { (expression_statement "iVar19 = iVar19 + *(int *)(iVar12 + 0x98);" (assignment_expression "iVar19 = iVar19 + *(int *)(iVar12 + 0x98)" identifier = (binary_expression "iVar19 + *(int *)(iVar12 + 0x98)" identifier + (pointer_expression "*(int *)(iVar12 + 0x98)" * (cast_expression "(int *)(iVar12 + 0x98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x98)" ( (binary_expression "iVar12 + 0x98" identifier + number_literal) )))))) ;) })) (expression_statement "uVar37 = uVar37 - iVar19;" (assignment_expression "uVar37 = uVar37 - iVar19" identifier = (binary_expression "uVar37 - iVar19" identifier - identifier)) ;) })) (if_statement "if (unaff_s0 == 0) {\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }" if (parenthesized_expression "(unaff_s0 == 0)" ( (binary_expression "unaff_s0 == 0" identifier == number_literal) )) (compound_statement "{\n            uVar38 = uVar38 ^ uVar37;\n            pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;\n            uVar3 = 1;\n            if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }\n            return uVar3;\n          }" { (expression_statement "uVar38 = uVar38 ^ uVar37;" (assignment_expression "uVar38 = uVar38 ^ uVar37" identifier = (binary_expression "uVar38 ^ uVar37" identifier ^ identifier)) ;) (expression_statement "pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42;" (assignment_expression "pMVar18->local_gotno_ =\n                 ((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42" (field_expression "pMVar18->local_gotno_" identifier -> field_identifier) = (binary_expression "((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000 ^ uVar42" (binary_expression "((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8) * 0x10000" (parenthesized_expression "((uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8)" ( (binary_expression "(uVar38 & 0xff) << 8 | (uVar38 & 0xffff) >> 8" (binary_expression "(uVar38 & 0xff) << 8" (parenthesized_expression "(uVar38 & 0xff)" ( (binary_expression "uVar38 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar38 & 0xffff) >> 8" (parenthesized_expression "(uVar38 & 0xffff)" ( (binary_expression "uVar38 & 0xffff" identifier & number_literal) )) >> number_literal)) )) * number_literal) ^ identifier)) ;) (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) (if_statement "if ((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0) {\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }" if (parenthesized_expression "((uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0)" ( (binary_expression "(uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f) == 0" (binary_expression "(uint)(uVar37 + 0x8000 < uVar37) + ((int)uVar37 >> 0x1f)" (call_expression "(uint)(uVar37 + 0x8000 < uVar37)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar37 + 0x8000 < uVar37)" ( (binary_expression "uVar37 + 0x8000 < uVar37" (binary_expression "uVar37 + 0x8000" identifier + number_literal) < identifier) ))) + (parenthesized_expression "((int)uVar37 >> 0x1f)" ( (binary_expression "(int)uVar37 >> 0x1f" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) == number_literal) )) (compound_statement "{\n              uVar3 = (uint)(0xffff < uVar37 + 0x8000);\n            }" { (expression_statement "uVar3 = (uint)(0xffff < uVar37 + 0x8000);" (assignment_expression "uVar3 = (uint)(0xffff < uVar37 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar37 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar37 + 0x8000)" ( (binary_expression "0xffff < uVar37 + 0x8000" number_literal < (binary_expression "uVar37 + 0x8000" identifier + number_literal)) )))) ;) })) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "*unaff_s1 = (int)uVar37 >> 0x1f;" (assignment_expression "*unaff_s1 = (int)uVar37 >> 0x1f" (pointer_expression "*unaff_s1" * identifier) = (binary_expression "(int)uVar37 >> 0x1f" (cast_expression "(int)uVar37" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (expression_statement "unaff_s1[1] = uVar37;" (assignment_expression "unaff_s1[1] = uVar37" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00106c68;" goto statement_identifier ;) })) }))) (expression_statement "(*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))();" (call_expression "(*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))()" (parenthesized_expression "(*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c))" ( (pointer_expression "*(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c)" * (cast_expression "(code *)(*(int *)(puVar43 + 0x3bb110) + -0x6d7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar43 + 0x3bb110) + -0x6d7c)" ( (binary_expression "*(int *)(puVar43 + 0x3bb110) + -0x6d7c" (pointer_expression "*(int *)(puVar43 + 0x3bb110)" * (cast_expression "(int *)(puVar43 + 0x3bb110)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3bb110)" ( (binary_expression "puVar43 + 0x3bb110" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "iVar19 = 0x6ab;" (assignment_expression "iVar19 = 0x6ab" identifier = number_literal) ;) (expression_statement "pcVar44 = *(code **)(puVar43 + 0x3bb07c);" (assignment_expression "pcVar44 = *(code **)(puVar43 + 0x3bb07c)" identifier = (pointer_expression "*(code **)(puVar43 + 0x3bb07c)" * (cast_expression "(code **)(puVar43 + 0x3bb07c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar43 + 0x3bb07c)" ( (binary_expression "puVar43 + 0x3bb07c" identifier + number_literal) ))))) ;) (expression_statement "iVar28 = *(int *)(puVar43 + 0x3bb09c) + -0x33e0;" (assignment_expression "iVar28 = *(int *)(puVar43 + 0x3bb09c) + -0x33e0" identifier = (binary_expression "*(int *)(puVar43 + 0x3bb09c) + -0x33e0" (pointer_expression "*(int *)(puVar43 + 0x3bb09c)" * (cast_expression "(int *)(puVar43 + 0x3bb09c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3bb09c)" ( (binary_expression "puVar43 + 0x3bb09c" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "puVar20 = &this_00[0x71].index_;" (assignment_expression "puVar20 = &this_00[0x71].index_" identifier = (pointer_expression "&this_00[0x71].index_" & (field_expression "this_00[0x71].index_" (subscript_expression "this_00[0x71]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "(*pcVar44)();" (call_expression "(*pcVar44)()" (parenthesized_expression "(*pcVar44)" ( (pointer_expression "*pcVar44" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar12 = *(int *)(iVar19 + 0x10);" (assignment_expression "iVar12 = *(int *)(iVar19 + 0x10)" identifier = (pointer_expression "*(int *)(iVar19 + 0x10)" * (cast_expression "(int *)(iVar19 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x10)" ( (binary_expression "iVar19 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(iVar12 + 0x20);" (assignment_expression "uVar6 = *(uint *)(iVar12 + 0x20)" identifier = (pointer_expression "*(uint *)(iVar12 + 0x20)" * (cast_expression "(uint *)(iVar12 + 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x20)" ( (binary_expression "iVar12 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = *(uint *)(iVar12 + 0x24);" (assignment_expression "uVar37 = *(uint *)(iVar12 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar12 + 0x24)" * (cast_expression "(uint *)(iVar12 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x24)" ( (binary_expression "iVar12 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = *(uint *)(iVar12 + 0x38);" (assignment_expression "uVar13 = *(uint *)(iVar12 + 0x38)" identifier = (pointer_expression "*(uint *)(iVar12 + 0x38)" * (cast_expression "(uint *)(iVar12 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x38)" ( (binary_expression "iVar12 + 0x38" identifier + number_literal) ))))) ;) (expression_statement "uVar34 = *(uint *)(iVar12 + 0x3c);" (assignment_expression "uVar34 = *(uint *)(iVar12 + 0x3c)" identifier = (pointer_expression "*(uint *)(iVar12 + 0x3c)" * (cast_expression "(uint *)(iVar12 + 0x3c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x3c)" ( (binary_expression "iVar12 + 0x3c" identifier + number_literal) ))))) ;) (expression_statement "iStack_94 = iStack_18;" (assignment_expression "iStack_94 = iStack_18" identifier = identifier) ;) (expression_statement "uStack_110 = uVar3;" (assignment_expression "uStack_110 = uVar3" identifier = identifier) ;) (expression_statement "uStack_fc = in_a2;" (assignment_expression "uStack_fc = in_a2" identifier = identifier) ;) (expression_statement "uStack_a0 = uVar38;" (assignment_expression "uStack_a0 = uVar38" identifier = identifier) ;) (expression_statement "pMStack_9c = pMVar23;" (assignment_expression "pMStack_9c = pMVar23" identifier = identifier) ;) (expression_statement "uStack_98 = (uint)unaff_s0;" (assignment_expression "uStack_98 = (uint)unaff_s0" identifier = (cast_expression "(uint)unaff_s0" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "pMStack_90 = pMVar18;" (assignment_expression "pMStack_90 = pMVar18" identifier = identifier) ;) (expression_statement "uStack_8c = uVar42;" (assignment_expression "uStack_8c = uVar42" identifier = identifier) ;) (expression_statement "uStack_88 = uStack_24;" (assignment_expression "uStack_88 = uStack_24" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bb018))\n            ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000,\n             (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000,\n             (((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000,\n             (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000);" (call_expression "(**(code **)(pcVar44 + 0x3bb018))\n            ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000,\n             (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000,\n             (((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000,\n             (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb018))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb018)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb018)" * (cast_expression "(code **)(pcVar44 + 0x3bb018)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb018)" ( (binary_expression "pcVar44 + 0x3bb018" identifier + number_literal) ))))) )) (argument_list "((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000,\n             (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000,\n             (((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000,\n             (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10)" ( (binary_expression "(uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10" (binary_expression "(uVar37 >> 0x10) << 0x18" (parenthesized_expression "(uVar37 >> 0x10)" ( (binary_expression "uVar37 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar37 >> 0x18) << 0x10" (parenthesized_expression "(uVar37 >> 0x18)" ( (binary_expression "uVar37 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff)" ( (binary_expression "(uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff" (binary_expression "(uVar37 & 0xff) << 8" (parenthesized_expression "(uVar37 & 0xff)" ( (binary_expression "uVar37 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar37 >> 8 & 0xff" (binary_expression "uVar37 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) , (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) , (binary_expression "(((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10)" ( (binary_expression "(uVar34 >> 0x10) << 0x18 | (uVar34 >> 0x18) << 0x10" (binary_expression "(uVar34 >> 0x10) << 0x18" (parenthesized_expression "(uVar34 >> 0x10)" ( (binary_expression "uVar34 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar34 >> 0x18) << 0x10" (parenthesized_expression "(uVar34 >> 0x18)" ( (binary_expression "uVar34 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff)" ( (binary_expression "(uVar34 & 0xff) << 8 | uVar34 >> 8 & 0xff" (binary_expression "(uVar34 & 0xff) << 8" (parenthesized_expression "(uVar34 & 0xff)" ( (binary_expression "uVar34 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar34 >> 8 & 0xff" (binary_expression "uVar34 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) , (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) ;) (expression_statement "uVar37 = *(uint *)(puVar43 + 0x3c2894);" (assignment_expression "uVar37 = *(uint *)(puVar43 + 0x3c2894)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c2894)" * (cast_expression "(uint *)(puVar43 + 0x3c2894)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c2894)" ( (binary_expression "puVar43 + 0x3c2894" identifier + number_literal) ))))) ;) (expression_statement "uVar42 = *puVar4;" (assignment_expression "uVar42 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (expression_statement "uVar38 = *(uint *)(puVar43 + 0x3c2890);" (assignment_expression "uVar38 = *(uint *)(puVar43 + 0x3c2890)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c2890)" * (cast_expression "(uint *)(puVar43 + 0x3c2890)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c2890)" ( (binary_expression "puVar43 + 0x3c2890" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = (uint)(byte)puVar43[0x3c289b];" (assignment_expression "uVar3 = (uint)(byte)puVar43[0x3c289b]" identifier = (cast_expression "(uint)(byte)puVar43[0x3c289b]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar43[0x3c289b]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar43[0x3c289b]" identifier [ number_literal ])))) ;) (expression_statement "p_Stack_108 = (_Hash_node_base *)\n                ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000);" (assignment_expression "p_Stack_108 = (_Hash_node_base *)\n                ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(_Hash_node_base *)\n                ((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10)" ( (binary_expression "(uVar37 >> 0x10) << 0x18 | (uVar37 >> 0x18) << 0x10" (binary_expression "(uVar37 >> 0x10) << 0x18" (parenthesized_expression "(uVar37 >> 0x10)" ( (binary_expression "uVar37 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar37 >> 0x18) << 0x10" (parenthesized_expression "(uVar37 >> 0x18)" ( (binary_expression "uVar37 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff)" ( (binary_expression "(uVar37 & 0xff) << 8 | uVar37 >> 8 & 0xff" (binary_expression "(uVar37 & 0xff) << 8" (parenthesized_expression "(uVar37 & 0xff)" ( (binary_expression "uVar37 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar37 >> 8 & 0xff" (binary_expression "uVar37 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "uStack_120 = uVar3;" (assignment_expression "uStack_120 = uVar3" identifier = identifier) ;) (expression_statement "p_Var29 = (_Hash_node_base *)\n            ((((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000);" (assignment_expression "p_Var29 = (_Hash_node_base *)\n            ((((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(_Hash_node_base *)\n            ((((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10)" ( (binary_expression "(uVar38 >> 0x10) << 0x18 | (uVar38 >> 0x18) << 0x10" (binary_expression "(uVar38 >> 0x10) << 0x18" (parenthesized_expression "(uVar38 >> 0x10)" ( (binary_expression "uVar38 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar38 >> 0x18) << 0x10" (parenthesized_expression "(uVar38 >> 0x18)" ( (binary_expression "uVar38 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff)" ( (binary_expression "(uVar38 & 0xff) << 8 | uVar38 >> 8 & 0xff" (binary_expression "(uVar38 & 0xff) << 8" (parenthesized_expression "(uVar38 & 0xff)" ( (binary_expression "uVar38 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar38 >> 8 & 0xff" (binary_expression "uVar38 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "iStack_f8 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;" (assignment_expression "iStack_f8 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10)" ( (binary_expression "(uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10" (binary_expression "(uVar42 >> 0x10) << 0x18" (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar42 >> 0x18) << 0x10" (parenthesized_expression "(uVar42 >> 0x18)" ( (binary_expression "uVar42 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff)" ( (binary_expression "(uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff" (binary_expression "(uVar42 & 0xff) << 8" (parenthesized_expression "(uVar42 & 0xff)" ( (binary_expression "uVar42 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar42 >> 8 & 0xff" (binary_expression "uVar42 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "p_Stack_f4 = p_Var29;" (assignment_expression "p_Stack_f4 = p_Var29" identifier = identifier) ;) (if_statement "if (iVar28 == 4) {\n    uVar6 = *(uint *)(puVar43 + 0x3c289c);\n    uVar42 = *(uint *)(puVar43 + 0x3c28a0);\n    uVar37 = (uint)(byte)puVar43[0x3c289a];\n    uVar38 = (uint)(byte)puVar43[0x3c2899];\n    uStack_ec = (uint)(byte)puVar43[0x3c2898];\n    uStack_114 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n    uStack_118 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    if (in_stack_ffffff9c + 1 < extraout_v1_00) {\n      uVar6 = *(uint *)(puVar43 + 0x3c28a4);\n      uVar42 = *(uint *)(puVar43 + 0x3c28a8);\n      uStack_dc = (uint)(byte)puVar43[0x3c28b3];\n      iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);\n    }\n    else {\n      uStack_dc = 0;\n      p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n      iStack_d4 = -1;\n    }\nLAB_00106dbc:\n    iVar12 = *(int *)(iVar19 + 8);\n    if (puStack_5c != (undefined4 *)0x0) goto LAB_00106dec;\nLAB_00107020:\n    uStack_140._4_4_ = (_Hash_node_base *)0x0;\n    uStack_140._0_4_ = 0;\n    uVar46 = 0;\n    uStack_140 = 0;\n    uStack_148 = 1;\n    uStack_14c = 0xffffffff;\n    uStack_150 = 0;\n    if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108) goto LAB_0010b000;\n    uVar42 = 1 << ((uint)p_Stack_108 & 0x1f);\n    iVar25 = ((uint)p_Stack_108 >> 5) * 4;\n    uStack_124 = *(uint *)(*(int *)(iVar12 + 0x14c) + iVar25);\n    if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108) goto LAB_0010afdc;\n    uVar6 = *(uint *)(*(int *)(iVar12 + 0x160) + iVar25);\n    bVar1 = ((uStack_124 | uVar6) & uVar42) == 0;\n    puVar4 = (uint *)(uint)((uVar42 & uVar6) != 0);\n    if (bVar1) {\n      puStack_104 = (uint *)0x0;\n      puStack_11c = (uint *)0x0;\n      puStack_128 = &uStack_150;\n    }\n    else {\n      puStack_128 = &uStack_150;\n      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);\n      puStack_128 = &uStack_150;\n      uVar42 = uVar42 & uStack_124;\n      puStack_11c = (uint *)(uint)(uVar42 != 0);\n      puStack_104 = (uint *)0x1;\n    }\n    puStack_104 = (uint *)(uint)!bVar1;\n    if (uVar3 == 100) {\n      iVar41 = *(int *)(iVar12 + 0x1dc);\n      iVar30 = iVar12 + 0x1d8;\n      iVar25 = iVar41;\n      iVar17 = iVar30;\n      if (iVar41 != 0) {\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }\n      goto LAB_001093fc;\n    }\n    iVar25 = *(int *)(iVar12 + 0x1c4);\n    iVar41 = iVar12 + 0x1c0;\n    if (*(int *)(iVar12 + 0x1c4) != 0) {\n      do {\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      } while (*(int *)(iVar17 + 8) != 0);\nLAB_00107154:\n      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;\n      goto LAB_00106f1c;\n    }\nLAB_00107170:\n    uVar46 = uStack_140;\n    if (uVar3 != 0x85) goto LAB_00107248;\nLAB_00107178:\n    if (puStack_11c == (uint *)0x0) goto LAB_00107184;\n    goto LAB_0010725c;\n  }" if (parenthesized_expression "(iVar28 == 4)" ( (binary_expression "iVar28 == 4" identifier == number_literal) )) (compound_statement "{\n    uVar6 = *(uint *)(puVar43 + 0x3c289c);\n    uVar42 = *(uint *)(puVar43 + 0x3c28a0);\n    uVar37 = (uint)(byte)puVar43[0x3c289a];\n    uVar38 = (uint)(byte)puVar43[0x3c2899];\n    uStack_ec = (uint)(byte)puVar43[0x3c2898];\n    uStack_114 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n    uStack_118 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    if (in_stack_ffffff9c + 1 < extraout_v1_00) {\n      uVar6 = *(uint *)(puVar43 + 0x3c28a4);\n      uVar42 = *(uint *)(puVar43 + 0x3c28a8);\n      uStack_dc = (uint)(byte)puVar43[0x3c28b3];\n      iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);\n    }\n    else {\n      uStack_dc = 0;\n      p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n      iStack_d4 = -1;\n    }\nLAB_00106dbc:\n    iVar12 = *(int *)(iVar19 + 8);\n    if (puStack_5c != (undefined4 *)0x0) goto LAB_00106dec;\nLAB_00107020:\n    uStack_140._4_4_ = (_Hash_node_base *)0x0;\n    uStack_140._0_4_ = 0;\n    uVar46 = 0;\n    uStack_140 = 0;\n    uStack_148 = 1;\n    uStack_14c = 0xffffffff;\n    uStack_150 = 0;\n    if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108) goto LAB_0010b000;\n    uVar42 = 1 << ((uint)p_Stack_108 & 0x1f);\n    iVar25 = ((uint)p_Stack_108 >> 5) * 4;\n    uStack_124 = *(uint *)(*(int *)(iVar12 + 0x14c) + iVar25);\n    if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108) goto LAB_0010afdc;\n    uVar6 = *(uint *)(*(int *)(iVar12 + 0x160) + iVar25);\n    bVar1 = ((uStack_124 | uVar6) & uVar42) == 0;\n    puVar4 = (uint *)(uint)((uVar42 & uVar6) != 0);\n    if (bVar1) {\n      puStack_104 = (uint *)0x0;\n      puStack_11c = (uint *)0x0;\n      puStack_128 = &uStack_150;\n    }\n    else {\n      puStack_128 = &uStack_150;\n      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);\n      puStack_128 = &uStack_150;\n      uVar42 = uVar42 & uStack_124;\n      puStack_11c = (uint *)(uint)(uVar42 != 0);\n      puStack_104 = (uint *)0x1;\n    }\n    puStack_104 = (uint *)(uint)!bVar1;\n    if (uVar3 == 100) {\n      iVar41 = *(int *)(iVar12 + 0x1dc);\n      iVar30 = iVar12 + 0x1d8;\n      iVar25 = iVar41;\n      iVar17 = iVar30;\n      if (iVar41 != 0) {\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }\n      goto LAB_001093fc;\n    }\n    iVar25 = *(int *)(iVar12 + 0x1c4);\n    iVar41 = iVar12 + 0x1c0;\n    if (*(int *)(iVar12 + 0x1c4) != 0) {\n      do {\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      } while (*(int *)(iVar17 + 8) != 0);\nLAB_00107154:\n      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;\n      goto LAB_00106f1c;\n    }\nLAB_00107170:\n    uVar46 = uStack_140;\n    if (uVar3 != 0x85) goto LAB_00107248;\nLAB_00107178:\n    if (puStack_11c == (uint *)0x0) goto LAB_00107184;\n    goto LAB_0010725c;\n  }" { (expression_statement "uVar6 = *(uint *)(puVar43 + 0x3c289c);" (assignment_expression "uVar6 = *(uint *)(puVar43 + 0x3c289c)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c289c)" * (cast_expression "(uint *)(puVar43 + 0x3c289c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c289c)" ( (binary_expression "puVar43 + 0x3c289c" identifier + number_literal) ))))) ;) (expression_statement "uVar42 = *(uint *)(puVar43 + 0x3c28a0);" (assignment_expression "uVar42 = *(uint *)(puVar43 + 0x3c28a0)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c28a0)" * (cast_expression "(uint *)(puVar43 + 0x3c28a0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c28a0)" ( (binary_expression "puVar43 + 0x3c28a0" identifier + number_literal) ))))) ;) (expression_statement "uVar37 = (uint)(byte)puVar43[0x3c289a];" (assignment_expression "uVar37 = (uint)(byte)puVar43[0x3c289a]" identifier = (cast_expression "(uint)(byte)puVar43[0x3c289a]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar43[0x3c289a]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar43[0x3c289a]" identifier [ number_literal ])))) ;) (expression_statement "uVar38 = (uint)(byte)puVar43[0x3c2899];" (assignment_expression "uVar38 = (uint)(byte)puVar43[0x3c2899]" identifier = (cast_expression "(uint)(byte)puVar43[0x3c2899]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar43[0x3c2899]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar43[0x3c2899]" identifier [ number_literal ])))) ;) (expression_statement "uStack_ec = (uint)(byte)puVar43[0x3c2898];" (assignment_expression "uStack_ec = (uint)(byte)puVar43[0x3c2898]" identifier = (cast_expression "(uint)(byte)puVar43[0x3c2898]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar43[0x3c2898]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar43[0x3c2898]" identifier [ number_literal ])))) ;) (expression_statement "uStack_114 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uStack_114 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uStack_118 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;" (assignment_expression "uStack_118 = (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                 ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10)" ( (binary_expression "(uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10" (binary_expression "(uVar42 >> 0x10) << 0x18" (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar42 >> 0x18) << 0x10" (parenthesized_expression "(uVar42 >> 0x18)" ( (binary_expression "uVar42 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff)" ( (binary_expression "(uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff" (binary_expression "(uVar42 & 0xff) << 8" (parenthesized_expression "(uVar42 & 0xff)" ( (binary_expression "uVar42 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar42 >> 8 & 0xff" (binary_expression "uVar42 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (in_stack_ffffff9c + 1 < extraout_v1_00) {\n      uVar6 = *(uint *)(puVar43 + 0x3c28a4);\n      uVar42 = *(uint *)(puVar43 + 0x3c28a8);\n      uStack_dc = (uint)(byte)puVar43[0x3c28b3];\n      iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);\n    }\n    else {\n      uStack_dc = 0;\n      p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n      iStack_d4 = -1;\n    }" if (parenthesized_expression "(in_stack_ffffff9c + 1 < extraout_v1_00)" ( (binary_expression "in_stack_ffffff9c + 1 < extraout_v1_00" (binary_expression "in_stack_ffffff9c + 1" identifier + number_literal) < identifier) )) (compound_statement "{\n      uVar6 = *(uint *)(puVar43 + 0x3c28a4);\n      uVar42 = *(uint *)(puVar43 + 0x3c28a8);\n      uStack_dc = (uint)(byte)puVar43[0x3c28b3];\n      iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);\n    }" { (expression_statement "uVar6 = *(uint *)(puVar43 + 0x3c28a4);" (assignment_expression "uVar6 = *(uint *)(puVar43 + 0x3c28a4)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c28a4)" * (cast_expression "(uint *)(puVar43 + 0x3c28a4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c28a4)" ( (binary_expression "puVar43 + 0x3c28a4" identifier + number_literal) ))))) ;) (expression_statement "uVar42 = *(uint *)(puVar43 + 0x3c28a8);" (assignment_expression "uVar42 = *(uint *)(puVar43 + 0x3c28a8)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c28a8)" * (cast_expression "(uint *)(puVar43 + 0x3c28a8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c28a8)" ( (binary_expression "puVar43 + 0x3c28a8" identifier + number_literal) ))))) ;) (expression_statement "uStack_dc = (uint)(byte)puVar43[0x3c28b3];" (assignment_expression "uStack_dc = (uint)(byte)puVar43[0x3c28b3]" identifier = (cast_expression "(uint)(byte)puVar43[0x3c28b3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar43[0x3c28b3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar43[0x3c28b3]" identifier [ number_literal ])))) ;) (expression_statement "iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                  ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);" (assignment_expression "p_Stack_d8 = (_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(_Hash_node_base *)\n                   ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n                   ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10)" ( (binary_expression "(uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10" (binary_expression "(uVar42 >> 0x10) << 0x18" (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar42 >> 0x18) << 0x10" (parenthesized_expression "(uVar42 >> 0x18)" ( (binary_expression "uVar42 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff)" ( (binary_expression "(uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff" (binary_expression "(uVar42 & 0xff) << 8" (parenthesized_expression "(uVar42 & 0xff)" ( (binary_expression "uVar42 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar42 >> 8 & 0xff" (binary_expression "uVar42 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) }) (else_clause "else {\n      uStack_dc = 0;\n      p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n      iStack_d4 = -1;\n    }" else (compound_statement "{\n      uStack_dc = 0;\n      p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n      iStack_d4 = -1;\n    }" { (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "p_Stack_d8 = (_Hash_node_base *)0xffffffff;" (assignment_expression "p_Stack_d8 = (_Hash_node_base *)0xffffffff" identifier = (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_d4 = -1;" (assignment_expression "iStack_d4 = -1" identifier = number_literal) ;) }))) (labeled_statement "LAB_00106dbc:\n    iVar12 = *(int *)(iVar19 + 8);" statement_identifier : (expression_statement "iVar12 = *(int *)(iVar19 + 8);" (assignment_expression "iVar12 = *(int *)(iVar19 + 8)" identifier = (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) ))))) ;)) (if_statement "if (puStack_5c != (undefined4 *)0x0) goto LAB_00106dec;" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00106dec;" goto statement_identifier ;)) (labeled_statement "LAB_00107020:\n    uStack_140._4_4_ = (_Hash_node_base *)0x0;" statement_identifier : (expression_statement "uStack_140._4_4_ = (_Hash_node_base *)0x0;" (assignment_expression "uStack_140._4_4_ = (_Hash_node_base *)0x0" (field_expression "uStack_140._4_4_" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uStack_140._0_4_ = 0;" (assignment_expression "uStack_140._0_4_ = 0" (field_expression "uStack_140._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar46 = 0;" (assignment_expression "uVar46 = 0" identifier = number_literal) ;) (expression_statement "uStack_140 = 0;" (assignment_expression "uStack_140 = 0" identifier = number_literal) ;) (expression_statement "uStack_148 = 1;" (assignment_expression "uStack_148 = 1" identifier = number_literal) ;) (expression_statement "uStack_14c = 0xffffffff;" (assignment_expression "uStack_14c = 0xffffffff" identifier = number_literal) ;) (expression_statement "uStack_150 = 0;" (assignment_expression "uStack_150 = 0" identifier = number_literal) ;) (if_statement "if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108) goto LAB_0010b000;" if (parenthesized_expression "((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108)" ( (binary_expression "(_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))) <= p_Stack_108" (cast_expression "(_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150)))" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150)))" ( (binary_expression "(*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8 +\n        (*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))" (binary_expression "(*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)) * 8" (parenthesized_expression "(*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c))" ( (binary_expression "*(int *)(iVar12 + 0x154) - *(int *)(iVar12 + 0x14c)" (pointer_expression "*(int *)(iVar12 + 0x154)" * (cast_expression "(int *)(iVar12 + 0x154)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x154)" ( (binary_expression "iVar12 + 0x154" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 0x14c)" * (cast_expression "(int *)(iVar12 + 0x14c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14c)" ( (binary_expression "iVar12 + 0x14c" identifier + number_literal) ))))) )) * number_literal) + (parenthesized_expression "(*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150))" ( (binary_expression "*(int *)(iVar12 + 0x158) - *(int *)(iVar12 + 0x150)" (pointer_expression "*(int *)(iVar12 + 0x158)" * (cast_expression "(int *)(iVar12 + 0x158)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x158)" ( (binary_expression "iVar12 + 0x158" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 0x150)" * (cast_expression "(int *)(iVar12 + 0x150)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x150)" ( (binary_expression "iVar12 + 0x150" identifier + number_literal) ))))) ))) ))) <= identifier) )) (goto_statement "goto LAB_0010b000;" goto statement_identifier ;)) (expression_statement "uVar42 = 1 << ((uint)p_Stack_108 & 0x1f);" (assignment_expression "uVar42 = 1 << ((uint)p_Stack_108 & 0x1f)" identifier = (binary_expression "1 << ((uint)p_Stack_108 & 0x1f)" number_literal << (parenthesized_expression "((uint)p_Stack_108 & 0x1f)" ( (binary_expression "(uint)p_Stack_108 & 0x1f" (cast_expression "(uint)p_Stack_108" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "iVar25 = ((uint)p_Stack_108 >> 5) * 4;" (assignment_expression "iVar25 = ((uint)p_Stack_108 >> 5) * 4" identifier = (binary_expression "((uint)p_Stack_108 >> 5) * 4" (parenthesized_expression "((uint)p_Stack_108 >> 5)" ( (binary_expression "(uint)p_Stack_108 >> 5" (cast_expression "(uint)p_Stack_108" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "uStack_124 = *(uint *)(*(int *)(iVar12 + 0x14c) + iVar25);" (assignment_expression "uStack_124 = *(uint *)(*(int *)(iVar12 + 0x14c) + iVar25)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar12 + 0x14c) + iVar25)" * (cast_expression "(uint *)(*(int *)(iVar12 + 0x14c) + iVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 0x14c) + iVar25)" ( (binary_expression "*(int *)(iVar12 + 0x14c) + iVar25" (pointer_expression "*(int *)(iVar12 + 0x14c)" * (cast_expression "(int *)(iVar12 + 0x14c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x14c)" ( (binary_expression "iVar12 + 0x14c" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if ((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108) goto LAB_0010afdc;" if (parenthesized_expression "((_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108)" ( (binary_expression "(_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))) <= p_Stack_108" (cast_expression "(_Hash_node_base *)\n        ((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164)))" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164)))" ( (binary_expression "(*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8 +\n        (*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))" (binary_expression "(*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)) * 8" (parenthesized_expression "(*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160))" ( (binary_expression "*(int *)(iVar12 + 0x168) - *(int *)(iVar12 + 0x160)" (pointer_expression "*(int *)(iVar12 + 0x168)" * (cast_expression "(int *)(iVar12 + 0x168)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x168)" ( (binary_expression "iVar12 + 0x168" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 0x160)" * (cast_expression "(int *)(iVar12 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x160)" ( (binary_expression "iVar12 + 0x160" identifier + number_literal) ))))) )) * number_literal) + (parenthesized_expression "(*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164))" ( (binary_expression "*(int *)(iVar12 + 0x16c) - *(int *)(iVar12 + 0x164)" (pointer_expression "*(int *)(iVar12 + 0x16c)" * (cast_expression "(int *)(iVar12 + 0x16c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x16c)" ( (binary_expression "iVar12 + 0x16c" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 0x164)" * (cast_expression "(int *)(iVar12 + 0x164)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x164)" ( (binary_expression "iVar12 + 0x164" identifier + number_literal) ))))) ))) ))) <= identifier) )) (goto_statement "goto LAB_0010afdc;" goto statement_identifier ;)) (expression_statement "uVar6 = *(uint *)(*(int *)(iVar12 + 0x160) + iVar25);" (assignment_expression "uVar6 = *(uint *)(*(int *)(iVar12 + 0x160) + iVar25)" identifier = (pointer_expression "*(uint *)(*(int *)(iVar12 + 0x160) + iVar25)" * (cast_expression "(uint *)(*(int *)(iVar12 + 0x160) + iVar25)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 0x160) + iVar25)" ( (binary_expression "*(int *)(iVar12 + 0x160) + iVar25" (pointer_expression "*(int *)(iVar12 + 0x160)" * (cast_expression "(int *)(iVar12 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x160)" ( (binary_expression "iVar12 + 0x160" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "bVar1 = ((uStack_124 | uVar6) & uVar42) == 0;" (assignment_expression "bVar1 = ((uStack_124 | uVar6) & uVar42) == 0" identifier = (binary_expression "((uStack_124 | uVar6) & uVar42) == 0" (parenthesized_expression "((uStack_124 | uVar6) & uVar42)" ( (binary_expression "(uStack_124 | uVar6) & uVar42" (parenthesized_expression "(uStack_124 | uVar6)" ( (binary_expression "uStack_124 | uVar6" identifier | identifier) )) & identifier) )) == number_literal)) ;) (expression_statement "puVar4 = (uint *)(uint)((uVar42 & uVar6) != 0);" (assignment_expression "puVar4 = (uint *)(uint)((uVar42 & uVar6) != 0)" identifier = (cast_expression "(uint *)(uint)((uVar42 & uVar6) != 0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((uVar42 & uVar6) != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uVar42 & uVar6) != 0)" ( (binary_expression "(uVar42 & uVar6) != 0" (parenthesized_expression "(uVar42 & uVar6)" ( (binary_expression "uVar42 & uVar6" identifier & identifier) )) != number_literal) ))))) ;) (if_statement "if (bVar1) {\n      puStack_104 = (uint *)0x0;\n      puStack_11c = (uint *)0x0;\n      puStack_128 = &uStack_150;\n    }\n    else {\n      puStack_128 = &uStack_150;\n      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);\n      puStack_128 = &uStack_150;\n      uVar42 = uVar42 & uStack_124;\n      puStack_11c = (uint *)(uint)(uVar42 != 0);\n      puStack_104 = (uint *)0x1;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      puStack_104 = (uint *)0x0;\n      puStack_11c = (uint *)0x0;\n      puStack_128 = &uStack_150;\n    }" { (expression_statement "puStack_104 = (uint *)0x0;" (assignment_expression "puStack_104 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;) }) (else_clause "else {\n      puStack_128 = &uStack_150;\n      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);\n      puStack_128 = &uStack_150;\n      uVar42 = uVar42 & uStack_124;\n      puStack_11c = (uint *)(uint)(uVar42 != 0);\n      puStack_104 = (uint *)0x1;\n    }" else (compound_statement "{\n      puStack_128 = &uStack_150;\n      uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);\n      puStack_128 = &uStack_150;\n      uVar42 = uVar42 & uStack_124;\n      puStack_11c = (uint *)(uint)(uVar42 != 0);\n      puStack_104 = (uint *)0x1;\n    }" { (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;) (expression_statement "uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1);" (assignment_expression "uStack_140 = (**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3baf38))(in_a3,iVar12,0,1)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3baf38))" ( (pointer_expression "**(code **)(pcVar44 + 0x3baf38)" * (pointer_expression "*(code **)(pcVar44 + 0x3baf38)" * (cast_expression "(code **)(pcVar44 + 0x3baf38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3baf38)" ( (binary_expression "pcVar44 + 0x3baf38" identifier + number_literal) ))))) )) (argument_list "(in_a3,iVar12,0,1)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;) (expression_statement "uVar42 = uVar42 & uStack_124;" (assignment_expression "uVar42 = uVar42 & uStack_124" identifier = (binary_expression "uVar42 & uStack_124" identifier & identifier)) ;) (expression_statement "puStack_11c = (uint *)(uint)(uVar42 != 0);" (assignment_expression "puStack_11c = (uint *)(uint)(uVar42 != 0)" identifier = (cast_expression "(uint *)(uint)(uVar42 != 0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar42 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 != 0)" ( (binary_expression "uVar42 != 0" identifier != number_literal) ))))) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "puStack_104 = (uint *)(uint)!bVar1;" (assignment_expression "puStack_104 = (uint *)(uint)!bVar1" identifier = (cast_expression "(uint *)(uint)!bVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)!bVar1" ( (type_descriptor "uint" type_identifier) ) (unary_expression "!bVar1" ! identifier)))) ;) (if_statement "if (uVar3 == 100) {\n      iVar41 = *(int *)(iVar12 + 0x1dc);\n      iVar30 = iVar12 + 0x1d8;\n      iVar25 = iVar41;\n      iVar17 = iVar30;\n      if (iVar41 != 0) {\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }\n      goto LAB_001093fc;\n    }" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (compound_statement "{\n      iVar41 = *(int *)(iVar12 + 0x1dc);\n      iVar30 = iVar12 + 0x1d8;\n      iVar25 = iVar41;\n      iVar17 = iVar30;\n      if (iVar41 != 0) {\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }\n      goto LAB_001093fc;\n    }" { (expression_statement "iVar41 = *(int *)(iVar12 + 0x1dc);" (assignment_expression "iVar41 = *(int *)(iVar12 + 0x1dc)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1dc)" * (cast_expression "(int *)(iVar12 + 0x1dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1dc)" ( (binary_expression "iVar12 + 0x1dc" identifier + number_literal) ))))) ;) (expression_statement "iVar30 = iVar12 + 0x1d8;" (assignment_expression "iVar30 = iVar12 + 0x1d8" identifier = (binary_expression "iVar12 + 0x1d8" identifier + number_literal)) ;) (expression_statement "iVar25 = iVar41;" (assignment_expression "iVar25 = iVar41" identifier = identifier) ;) (expression_statement "iVar17 = iVar30;" (assignment_expression "iVar17 = iVar30" identifier = identifier) ;) (if_statement "if (iVar41 != 0) {\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }" if (parenthesized_expression "(iVar41 != 0)" ( (binary_expression "iVar41 != 0" identifier != number_literal) )) (compound_statement "{\n        do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);\n        if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;\n        do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);\n        iVar25 = *(int *)(pcVar44 + 0x3bae28);\n        if (iVar30 == iVar17) goto LAB_001091e0;\n        pcVar40 = (code *)(iVar25 + 9000);\n        if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;\n        goto LAB_001091dc;\n      }" { (do_statement "do {\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        } while (iVar9 != 0);" do (compound_statement "{\n          if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }\n          iVar25 = iVar9;\n        }" { (if_statement "if (*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108) {\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }\n          else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }" if (parenthesized_expression "(*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108)" ( (binary_expression "*(_Hash_node_base **)(iVar25 + 0x10) < p_Stack_108" (pointer_expression "*(_Hash_node_base **)(iVar25 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar25 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar25 + 0x10)" ( (binary_expression "iVar25 + 0x10" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            iVar9 = *(int *)(iVar25 + 0xc);\n          }" { (expression_statement "iVar9 = *(int *)(iVar25 + 0xc);" (assignment_expression "iVar9 = *(int *)(iVar25 + 0xc)" identifier = (pointer_expression "*(int *)(iVar25 + 0xc)" * (cast_expression "(int *)(iVar25 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 0xc)" ( (binary_expression "iVar25 + 0xc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }" else (compound_statement "{\n            iVar9 = *(int *)(iVar25 + 8);\n            iVar17 = iVar25;\n          }" { (expression_statement "iVar9 = *(int *)(iVar25 + 8);" (assignment_expression "iVar9 = *(int *)(iVar25 + 8)" identifier = (pointer_expression "*(int *)(iVar25 + 8)" * (cast_expression "(int *)(iVar25 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 8)" ( (binary_expression "iVar25 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = iVar25;" (assignment_expression "iVar17 = iVar25" identifier = identifier) ;) }))) (expression_statement "iVar25 = iVar9;" (assignment_expression "iVar25 = iVar9" identifier = identifier) ;) }) while (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) ;) (if_statement "if (((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))\n        goto LAB_001093fc;" if (parenthesized_expression "(((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))))" ( (binary_expression "((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n           ((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0)))" (parenthesized_expression "((iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)))" ( (binary_expression "(iVar30 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))" (parenthesized_expression "(iVar30 == iVar17)" ( (binary_expression "iVar30 == iVar17" identifier == identifier) )) || (parenthesized_expression "(p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))" ( (binary_expression "p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)" identifier < (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "((*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0)))" ( (parenthesized_expression "(*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0))" ( (binary_expression "*(int *)(iVar17 + 0x14) == 0 || (iVar25 = iVar30, puStack_11c != (uint *)0x0)" (binary_expression "*(int *)(iVar17 + 0x14) == 0" (pointer_expression "*(int *)(iVar17 + 0x14)" * (cast_expression "(int *)(iVar17 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "(iVar25 = iVar30, puStack_11c != (uint *)0x0)" ( (comma_expression "iVar25 = iVar30, puStack_11c != (uint *)0x0" (assignment_expression "iVar25 = iVar30" identifier = identifier) , (binary_expression "puStack_11c != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (goto_statement "goto LAB_001093fc;" goto statement_identifier ;)) (do_statement "do {\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        } while (iVar41 != 0);" do (compound_statement "{\n          iVar17 = iVar41;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }\n          iVar25 = iVar17;\n        }" { (expression_statement "iVar17 = iVar41;" (assignment_expression "iVar17 = iVar41" identifier = identifier) ;) (if_statement "if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }\n          else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }" if (parenthesized_expression "(*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108)" ( (binary_expression "*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108" (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            iVar41 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar25;\n          }" { (expression_statement "iVar41 = *(int *)(iVar17 + 0xc);" (assignment_expression "iVar41 = *(int *)(iVar17 + 0xc)" identifier = (pointer_expression "*(int *)(iVar17 + 0xc)" * (cast_expression "(int *)(iVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = iVar25;" (assignment_expression "iVar17 = iVar25" identifier = identifier) ;) }) (else_clause "else {\n            iVar41 = *(int *)(iVar17 + 8);\n          }" else (compound_statement "{\n            iVar41 = *(int *)(iVar17 + 8);\n          }" { (expression_statement "iVar41 = *(int *)(iVar17 + 8);" (assignment_expression "iVar41 = *(int *)(iVar17 + 8)" identifier = (pointer_expression "*(int *)(iVar17 + 8)" * (cast_expression "(int *)(iVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar25 = iVar17;" (assignment_expression "iVar25 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "(iVar41 != 0)" ( (binary_expression "iVar41 != 0" identifier != number_literal) )) ;) (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3bae28);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3bae28)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) ))))) ;) (if_statement "if (iVar30 == iVar17) goto LAB_001091e0;" if (parenthesized_expression "(iVar30 == iVar17)" ( (binary_expression "iVar30 == iVar17" identifier == identifier) )) (goto_statement "goto LAB_001091e0;" goto statement_identifier ;)) (expression_statement "pcVar40 = (code *)(iVar25 + 9000);" (assignment_expression "pcVar40 = (code *)(iVar25 + 9000)" identifier = (cast_expression "(code *)(iVar25 + 9000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 9000)" ( (binary_expression "iVar25 + 9000" identifier + number_literal) )))) ;) (if_statement "if (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)) goto LAB_001091e4;" if (parenthesized_expression "(p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))" ( (binary_expression "p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)" identifier < (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001091e4;" goto statement_identifier ;)) (goto_statement "goto LAB_001091dc;" goto statement_identifier ;) })) (goto_statement "goto LAB_001093fc;" goto statement_identifier ;) })) (expression_statement "iVar25 = *(int *)(iVar12 + 0x1c4);" (assignment_expression "iVar25 = *(int *)(iVar12 + 0x1c4)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1c4)" * (cast_expression "(int *)(iVar12 + 0x1c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c4)" ( (binary_expression "iVar12 + 0x1c4" identifier + number_literal) ))))) ;) (expression_statement "iVar41 = iVar12 + 0x1c0;" (assignment_expression "iVar41 = iVar12 + 0x1c0" identifier = (binary_expression "iVar12 + 0x1c0" identifier + number_literal)) ;) (if_statement "if (*(int *)(iVar12 + 0x1c4) != 0) {\n      do {\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      } while (*(int *)(iVar17 + 8) != 0);\nLAB_00107154:\n      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;\n      goto LAB_00106f1c;\n    }" if (parenthesized_expression "(*(int *)(iVar12 + 0x1c4) != 0)" ( (binary_expression "*(int *)(iVar12 + 0x1c4) != 0" (pointer_expression "*(int *)(iVar12 + 0x1c4)" * (cast_expression "(int *)(iVar12 + 0x1c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c4)" ( (binary_expression "iVar12 + 0x1c4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      do {\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      } while (*(int *)(iVar17 + 8) != 0);\nLAB_00107154:\n      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;\n      goto LAB_00106f1c;\n    }" { (do_statement "do {\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      } while (*(int *)(iVar17 + 8) != 0);" do (compound_statement "{\n        while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }\n        iVar25 = *(int *)(iVar17 + 8);\n        iVar41 = iVar17;\n      }" { (while_statement "while (iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }" while (parenthesized_expression "(iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108)" ( (comma_expression "iVar17 = iVar25, *(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108" (assignment_expression "iVar17 = iVar25" identifier = identifier) , (binary_expression "*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108" (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n          piVar5 = (int *)(iVar17 + 0xc);\n          iVar25 = *piVar5;\n          iVar17 = iVar41;\n          if (*piVar5 == 0) goto LAB_00107154;\n        }" { (expression_statement "piVar5 = (int *)(iVar17 + 0xc);" (assignment_expression "piVar5 = (int *)(iVar17 + 0xc)" identifier = (cast_expression "(int *)(iVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) ;) (expression_statement "iVar25 = *piVar5;" (assignment_expression "iVar25 = *piVar5" identifier = (pointer_expression "*piVar5" * identifier)) ;) (expression_statement "iVar17 = iVar41;" (assignment_expression "iVar17 = iVar41" identifier = identifier) ;) (if_statement "if (*piVar5 == 0) goto LAB_00107154;" if (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) )) (goto_statement "goto LAB_00107154;" goto statement_identifier ;)) })) (expression_statement "iVar25 = *(int *)(iVar17 + 8);" (assignment_expression "iVar25 = *(int *)(iVar17 + 8)" identifier = (pointer_expression "*(int *)(iVar17 + 8)" * (cast_expression "(int *)(iVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar41 = iVar17;" (assignment_expression "iVar41 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "(*(int *)(iVar17 + 8) != 0)" ( (binary_expression "*(int *)(iVar17 + 8) != 0" (pointer_expression "*(int *)(iVar17 + 8)" * (cast_expression "(int *)(iVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) )))) != number_literal) )) ;) (labeled_statement "LAB_00107154:\n      if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;" statement_identifier : (if_statement "if (((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)) goto LAB_00107170;" if (parenthesized_expression "(((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0))" ( (binary_expression "((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))) ||\n         (p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)" (parenthesized_expression "((iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)))" ( (binary_expression "(iVar12 + 0x1c0 == iVar17) || (p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))" (parenthesized_expression "(iVar12 + 0x1c0 == iVar17)" ( (binary_expression "iVar12 + 0x1c0 == iVar17" (binary_expression "iVar12 + 0x1c0" identifier + number_literal) == identifier) )) || (parenthesized_expression "(p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10))" ( (binary_expression "p_Stack_108 < *(_Hash_node_base **)(iVar17 + 0x10)" identifier < (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "(p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0)" ( (comma_expression "p_Var29 = p_Stack_108, *(int *)(iVar17 + 0x14) == 0" (assignment_expression "p_Var29 = p_Stack_108" identifier = identifier) , (binary_expression "*(int *)(iVar17 + 0x14) == 0" (pointer_expression "*(int *)(iVar17 + 0x14)" * (cast_expression "(int *)(iVar17 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) )))) == number_literal)) ))) )) (goto_statement "goto LAB_00107170;" goto statement_identifier ;))) (goto_statement "goto LAB_00106f1c;" goto statement_identifier ;) })) (labeled_statement "LAB_00107170:\n    uVar46 = uStack_140;" statement_identifier : (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;)) (if_statement "if (uVar3 != 0x85) goto LAB_00107248;" if (parenthesized_expression "(uVar3 != 0x85)" ( (binary_expression "uVar3 != 0x85" identifier != number_literal) )) (goto_statement "goto LAB_00107248;" goto statement_identifier ;)) (labeled_statement "LAB_00107178:\n    if (puStack_11c == (uint *)0x0) goto LAB_00107184;" statement_identifier : (if_statement "if (puStack_11c == (uint *)0x0) goto LAB_00107184;" if (parenthesized_expression "(puStack_11c == (uint *)0x0)" ( (binary_expression "puStack_11c == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107184;" goto statement_identifier ;))) (goto_statement "goto LAB_0010725c;" goto statement_identifier ;) })) (if_statement "if (extraout_v1_00 <= in_stack_ffffff9c + 1) {\n    uStack_dc = 0;\n    uVar38 = 0;\n    uStack_118 = 0;\n    uVar37 = 0;\n    p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n    iStack_d4 = -1;\n    uStack_114 = 0;\n    uStack_ec = 0;\n    goto LAB_00106dbc;\n  }" if (parenthesized_expression "(extraout_v1_00 <= in_stack_ffffff9c + 1)" ( (binary_expression "extraout_v1_00 <= in_stack_ffffff9c + 1" identifier <= (binary_expression "in_stack_ffffff9c + 1" identifier + number_literal)) )) (compound_statement "{\n    uStack_dc = 0;\n    uVar38 = 0;\n    uStack_118 = 0;\n    uVar37 = 0;\n    p_Stack_d8 = (_Hash_node_base *)0xffffffff;\n    iStack_d4 = -1;\n    uStack_114 = 0;\n    uStack_ec = 0;\n    goto LAB_00106dbc;\n  }" { (expression_statement "uStack_dc = 0;" (assignment_expression "uStack_dc = 0" identifier = number_literal) ;) (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "p_Stack_d8 = (_Hash_node_base *)0xffffffff;" (assignment_expression "p_Stack_d8 = (_Hash_node_base *)0xffffffff" identifier = (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_d4 = -1;" (assignment_expression "iStack_d4 = -1" identifier = number_literal) ;) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_ec = 0;" (assignment_expression "uStack_ec = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00106dbc;" goto statement_identifier ;) })) (expression_statement "uVar42 = *(uint *)(puVar43 + 0x3c28a0);" (assignment_expression "uVar42 = *(uint *)(puVar43 + 0x3c28a0)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c28a0)" * (cast_expression "(uint *)(puVar43 + 0x3c28a0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c28a0)" ( (binary_expression "puVar43 + 0x3c28a0" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = *(uint *)(puVar43 + 0x3c289c);" (assignment_expression "uVar6 = *(uint *)(puVar43 + 0x3c289c)" identifier = (pointer_expression "*(uint *)(puVar43 + 0x3c289c)" * (cast_expression "(uint *)(puVar43 + 0x3c289c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar43 + 0x3c289c)" ( (binary_expression "puVar43 + 0x3c289c" identifier + number_literal) ))))) ;) (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_dc = (uint)(byte)puVar43[0x3c28ab];" (assignment_expression "uStack_dc = (uint)(byte)puVar43[0x3c28ab]" identifier = (cast_expression "(uint)(byte)puVar43[0x3c28ab]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar43[0x3c28ab]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar43[0x3c28ab]" identifier [ number_literal ])))) ;) (expression_statement "uStack_ec = 0;" (assignment_expression "uStack_ec = 0" identifier = number_literal) ;) (expression_statement "p_Stack_d8 = (_Hash_node_base *)\n               ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000);" (assignment_expression "p_Stack_d8 = (_Hash_node_base *)\n               ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(_Hash_node_base *)\n               ((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n               ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10)" ( (binary_expression "(uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10" (binary_expression "(uVar42 >> 0x10) << 0x18" (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar42 >> 0x18) << 0x10" (parenthesized_expression "(uVar42 >> 0x18)" ( (binary_expression "uVar42 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff)" ( (binary_expression "(uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff" (binary_expression "(uVar42 & 0xff) << 8" (parenthesized_expression "(uVar42 & 0xff)" ( (binary_expression "uVar42 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar42 >> 8 & 0xff" (binary_expression "uVar42 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (expression_statement "iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "iStack_d4 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "iVar12 = *(int *)(iVar19 + 8);" (assignment_expression "iVar12 = *(int *)(iVar19 + 8)" identifier = (pointer_expression "*(int *)(iVar19 + 8)" * (cast_expression "(int *)(iVar19 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 8)" ( (binary_expression "iVar19 + 8" identifier + number_literal) ))))) ;) (if_statement "if (puStack_5c == (undefined4 *)0x0) goto LAB_00107020;" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107020;" goto statement_identifier ;)) (labeled_statement "LAB_00106dec:\n  uStack_140._4_4_ = (_Hash_node_base *)0x0;" statement_identifier : (expression_statement "uStack_140._4_4_ = (_Hash_node_base *)0x0;" (assignment_expression "uStack_140._4_4_ = (_Hash_node_base *)0x0" (field_expression "uStack_140._4_4_" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uStack_140._0_4_ = 0;" (assignment_expression "uStack_140._0_4_ = 0" (field_expression "uStack_140._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "uStack_148 = 1;" (assignment_expression "uStack_148 = 1" identifier = number_literal) ;) (expression_statement "uStack_14c = 0xffffffff;" (assignment_expression "uStack_14c = 0xffffffff" identifier = number_literal) ;) (expression_statement "uStack_150 = 0;" (assignment_expression "uStack_150 = 0" identifier = number_literal) ;) (expression_statement "uVar6 = (uint)(puStack_5c[10] << 10) >> 0x1a;" (assignment_expression "uVar6 = (uint)(puStack_5c[10] << 10) >> 0x1a" identifier = (binary_expression "(uint)(puStack_5c[10] << 10) >> 0x1a" (call_expression "(uint)(puStack_5c[10] << 10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puStack_5c[10] << 10)" ( (binary_expression "puStack_5c[10] << 10" (subscript_expression "puStack_5c[10]" identifier [ number_literal ]) << number_literal) ))) >> number_literal)) ;) (expression_statement "uVar34 = uVar6 & 0x3c;" (assignment_expression "uVar34 = uVar6 & 0x3c" identifier = (binary_expression "uVar6 & 0x3c" identifier & number_literal)) ;) (expression_statement "uVar42 = uVar34 ^ 0x3c;" (assignment_expression "uVar42 = uVar34 ^ 0x3c" identifier = (binary_expression "uVar34 ^ 0x3c" identifier ^ number_literal)) ;) (expression_statement "uVar6 = uVar6 & 0x30;" (assignment_expression "uVar6 = uVar6 & 0x30" identifier = (binary_expression "uVar6 & 0x30" identifier & number_literal)) ;) (expression_statement "puStack_11c = (uint *)(uint)(uVar42 == 0);" (assignment_expression "puStack_11c = (uint *)(uint)(uVar42 == 0)" identifier = (cast_expression "(uint *)(uint)(uVar42 == 0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar42 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) ))))) ;) (expression_statement "puVar39 = (uint *)(uint)(uVar6 == 0x20);" (assignment_expression "puVar39 = (uint *)(uint)(uVar6 == 0x20)" identifier = (cast_expression "(uint *)(uint)(uVar6 == 0x20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar6 == 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar6 == 0x20)" ( (binary_expression "uVar6 == 0x20" identifier == number_literal) ))))) ;) (if_statement "if (uVar34 == 0x3c) {\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\nLAB_001076b4:\n    puStack_128 = &uStack_150;\n    p_Var29 = (_Hash_node_base *)0x0;\n    lVar45 = (*pcVar40)(in_a3,iVar12,0,0);\n    if (lVar45 == 0) goto LAB_00106e24;\n    puStack_128 = &uStack_150;\n    p_Var29 = (_Hash_node_base *)0x0;\n    uVar46 = (*pcVar40)(in_a3,iVar12,0,0);\n    uStack_140._0_4_ = (int)((ulonglong)uVar46 >> 0x20);\n    uStack_140._4_4_ = (_Hash_node_base *)((uint)uVar46 | 1);\n    puStack_104 = (uint *)0x1;\n  }\n  else {\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\n    if (uVar6 == 0x20) goto LAB_001076b4;\nLAB_00106e24:\n    puStack_104 = (uint *)0x0;\n  }" if (parenthesized_expression "(uVar34 == 0x3c)" ( (binary_expression "uVar34 == 0x3c" identifier == number_literal) )) (compound_statement "{\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\nLAB_001076b4:\n    puStack_128 = &uStack_150;\n    p_Var29 = (_Hash_node_base *)0x0;\n    lVar45 = (*pcVar40)(in_a3,iVar12,0,0);\n    if (lVar45 == 0) goto LAB_00106e24;\n    puStack_128 = &uStack_150;\n    p_Var29 = (_Hash_node_base *)0x0;\n    uVar46 = (*pcVar40)(in_a3,iVar12,0,0);\n    uStack_140._0_4_ = (int)((ulonglong)uVar46 >> 0x20);\n    uStack_140._4_4_ = (_Hash_node_base *)((uint)uVar46 | 1);\n    puStack_104 = (uint *)0x1;\n  }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3baf38);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3baf38)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3baf38)" * (cast_expression "(code **)(pcVar44 + 0x3baf38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3baf38)" ( (binary_expression "pcVar44 + 0x3baf38" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001076b4:\n    puStack_128 = &uStack_150;" statement_identifier : (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;)) (expression_statement "p_Var29 = (_Hash_node_base *)0x0;" (assignment_expression "p_Var29 = (_Hash_node_base *)0x0" identifier = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lVar45 = (*pcVar40)(in_a3,iVar12,0,0);" (assignment_expression "lVar45 = (*pcVar40)(in_a3,iVar12,0,0)" identifier = (call_expression "(*pcVar40)(in_a3,iVar12,0,0)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(in_a3,iVar12,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (if_statement "if (lVar45 == 0) goto LAB_00106e24;" if (parenthesized_expression "(lVar45 == 0)" ( (binary_expression "lVar45 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00106e24;" goto statement_identifier ;)) (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;) (expression_statement "p_Var29 = (_Hash_node_base *)0x0;" (assignment_expression "p_Var29 = (_Hash_node_base *)0x0" identifier = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar46 = (*pcVar40)(in_a3,iVar12,0,0);" (assignment_expression "uVar46 = (*pcVar40)(in_a3,iVar12,0,0)" identifier = (call_expression "(*pcVar40)(in_a3,iVar12,0,0)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(in_a3,iVar12,0,0)" ( identifier , identifier , number_literal , number_literal )))) ;) (expression_statement "uStack_140._0_4_ = (int)((ulonglong)uVar46 >> 0x20);" (assignment_expression "uStack_140._0_4_ = (int)((ulonglong)uVar46 >> 0x20)" (field_expression "uStack_140._0_4_" identifier . field_identifier) = (cast_expression "(int)((ulonglong)uVar46 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar46 >> 0x20)" ( (binary_expression "(ulonglong)uVar46 >> 0x20" (cast_expression "(ulonglong)uVar46" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "uStack_140._4_4_ = (_Hash_node_base *)((uint)uVar46 | 1);" (assignment_expression "uStack_140._4_4_ = (_Hash_node_base *)((uint)uVar46 | 1)" (field_expression "uStack_140._4_4_" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)((uint)uVar46 | 1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)uVar46 | 1)" ( (binary_expression "(uint)uVar46 | 1" (cast_expression "(uint)uVar46" ( (type_descriptor "uint" type_identifier) ) identifier) | number_literal) )))) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\n    if (uVar6 == 0x20) goto LAB_001076b4;\nLAB_00106e24:\n    puStack_104 = (uint *)0x0;\n  }" else (compound_statement "{\n    pcVar40 = *(code **)(pcVar44 + 0x3baf38);\n    if (uVar6 == 0x20) goto LAB_001076b4;\nLAB_00106e24:\n    puStack_104 = (uint *)0x0;\n  }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3baf38);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3baf38)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3baf38)" * (cast_expression "(code **)(pcVar44 + 0x3baf38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3baf38)" ( (binary_expression "pcVar44 + 0x3baf38" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 == 0x20) goto LAB_001076b4;" if (parenthesized_expression "(uVar6 == 0x20)" ( (binary_expression "uVar6 == 0x20" identifier == number_literal) )) (goto_statement "goto LAB_001076b4;" goto statement_identifier ;)) (labeled_statement "LAB_00106e24:\n    puStack_104 = (uint *)0x0;" statement_identifier : (expression_statement "puStack_104 = (uint *)0x0;" (assignment_expression "puStack_104 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }))) (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (if_statement "if (uVar3 - 1 < 0xf9) {\n    iVar25 = (int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8);\n  }" if (parenthesized_expression "(uVar3 - 1 < 0xf9)" ( (binary_expression "uVar3 - 1 < 0xf9" (binary_expression "uVar3 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n    iVar25 = (int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8);\n  }" { (expression_statement "iVar25 = (int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8);" (assignment_expression "iVar25 = (int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8)" identifier = (cast_expression "(int)*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8)" * (cast_expression "(char *)((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8)" ( (binary_expression "(uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4) + -0x56e8" (binary_expression "(uVar3 - 1) + *(int *)(pcVar44 + 0x3badb4)" (parenthesized_expression "(uVar3 - 1)" ( (binary_expression "uVar3 - 1" identifier - number_literal) )) + (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) ))))) + number_literal) )))))) ;) })) (expression_statement "iVar25 = (**(code **)(pcVar44 + 0x3bb01c))(puStack_5c,iVar25);" (assignment_expression "iVar25 = (**(code **)(pcVar44 + 0x3bb01c))(puStack_5c,iVar25)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bb01c))(puStack_5c,iVar25)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb01c))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb01c)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb01c)" * (cast_expression "(code **)(pcVar44 + 0x3bb01c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb01c)" ( (binary_expression "pcVar44 + 0x3bb01c" identifier + number_literal) ))))) )) (argument_list "(puStack_5c,iVar25)" ( identifier , identifier )))) ;) (expression_statement "uVar46 = CONCAT44(uStack_140._0_4_,uStack_140._4_4_);" (assignment_expression "uVar46 = CONCAT44(uStack_140._0_4_,uStack_140._4_4_)" identifier = (call_expression "CONCAT44(uStack_140._0_4_,uStack_140._4_4_)" identifier (argument_list "(uStack_140._0_4_,uStack_140._4_4_)" ( (field_expression "uStack_140._0_4_" identifier . field_identifier) , (field_expression "uStack_140._4_4_" identifier . field_identifier) )))) ;) (expression_statement "puVar4 = puVar39;" (assignment_expression "puVar4 = puVar39" identifier = identifier) ;) (if_statement "if (iVar25 == 0) {\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') {\nLAB_00106e70:\n      p_Var21 = p_Var11[0x18]._M_nxt;\n      if (p_Var21 == (_Hash_node_base *)0x0) {\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }\n      else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }\n      pcVar40 = pcVar40 + 0x7664;\n      (*pcVar40)();\nLAB_0010ae48:\n      (*(pcVar40 + 0x4fac))();\n      goto LAB_0010ae54;\n    }\n  }\n  else {\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') goto LAB_00106e70;\n    p_Var21 = p_Var11[7]._M_nxt;\n    if (puStack_5c[0x18] == -1) {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;\n      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);\n      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;\n      p_Var29 = p_Var21[3]._M_nxt;\n      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);\n      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;\n      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);\n      uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;\n      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;\n      puVar4 = puVar32;\n      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }\n    }\n    else {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }\nLAB_00106ea4:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n  }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') {\nLAB_00106e70:\n      p_Var21 = p_Var11[0x18]._M_nxt;\n      if (p_Var21 == (_Hash_node_base *)0x0) {\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }\n      else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }\n      pcVar40 = pcVar40 + 0x7664;\n      (*pcVar40)();\nLAB_0010ae48:\n      (*(pcVar40 + 0x4fac))();\n      goto LAB_0010ae54;\n    }\n  }" { (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3ba5e0)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)((int)puStack_5c + 0x5d) != '\0') {\nLAB_00106e70:\n      p_Var21 = p_Var11[0x18]._M_nxt;\n      if (p_Var21 == (_Hash_node_base *)0x0) {\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }\n      else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }\n      pcVar40 = pcVar40 + 0x7664;\n      (*pcVar40)();\nLAB_0010ae48:\n      (*(pcVar40 + 0x4fac))();\n      goto LAB_0010ae54;\n    }" if (parenthesized_expression "(*(char *)((int)puStack_5c + 0x5d) != '\0')" ( (binary_expression "*(char *)((int)puStack_5c + 0x5d) != '\0'" (pointer_expression "*(char *)((int)puStack_5c + 0x5d)" * (cast_expression "(char *)((int)puStack_5c + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puStack_5c + 0x5d)" ( (binary_expression "(int)puStack_5c + 0x5d" (cast_expression "(int)puStack_5c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00106e70:\n      p_Var21 = p_Var11[0x18]._M_nxt;\n      if (p_Var21 == (_Hash_node_base *)0x0) {\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }\n      else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }\n      pcVar40 = pcVar40 + 0x7664;\n      (*pcVar40)();\nLAB_0010ae48:\n      (*(pcVar40 + 0x4fac))();\n      goto LAB_0010ae54;\n    }" { (labeled_statement "LAB_00106e70:\n      p_Var21 = p_Var11[0x18]._M_nxt;" statement_identifier : (expression_statement "p_Var21 = p_Var11[0x18]._M_nxt;" (assignment_expression "p_Var21 = p_Var11[0x18]._M_nxt" identifier = (field_expression "p_Var11[0x18]._M_nxt" (subscript_expression "p_Var11[0x18]" identifier [ number_literal ]) . field_identifier)) ;)) (if_statement "if (p_Var21 == (_Hash_node_base *)0x0) {\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }\n      else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }" if (parenthesized_expression "(p_Var21 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var21 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);\n        (*pcVar40)();\n      }" { (expression_statement "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f44)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4f44)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4f44" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) }) (else_clause "else {\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }" else (compound_statement "{\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }\n      }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3badb0);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3badb0)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3badb0)" * (cast_expression "(code **)(pcVar44 + 0x3badb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) ))))) ;) (if_statement "if ((int)p_Var21[8]._M_nxt < 0) {\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }" if (parenthesized_expression "((int)p_Var21[8]._M_nxt < 0)" ( (binary_expression "(int)p_Var21[8]._M_nxt < 0" (cast_expression "(int)p_Var21[8]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var21[8]._M_nxt" (subscript_expression "p_Var21[8]" identifier [ number_literal ]) . field_identifier)) < number_literal) )) (compound_statement "{\n          uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);\n          uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);\n          goto LAB_00106ea4;\n        }" { (expression_statement "uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt);" (assignment_expression "uStack_140._4_4_ =\n               (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt)" (field_expression "uStack_140._4_4_" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt)" ( (binary_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt +\n               (int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt" (cast_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[3]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[3]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[3]._M_nxt)" ( (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (cast_expression "(int)&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((_Hash_node_base *)puStack_5c[0x13])->_M_nxt" & (field_expression "((_Hash_node_base *)puStack_5c[0x13])->_M_nxt" (parenthesized_expression "((_Hash_node_base *)puStack_5c[0x13])" ( (cast_expression "(_Hash_node_base *)puStack_5c[0x13]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puStack_5c[0x13]" identifier [ number_literal ])) )) -> field_identifier)))) )))) ;) (expression_statement "uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]);" (assignment_expression "uStack_140._0_4_ =\n               (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13])" (field_expression "uStack_140._0_4_" identifier . field_identifier) = (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n               (uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13])" (cast_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[2]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[2]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[2]._M_nxt)" ( (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (call_expression "(uint)(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13])" ( (binary_expression "uStack_140._4_4_ < (_Hash_node_base *)puStack_5c[0x13]" (field_expression "uStack_140._4_4_" identifier . field_identifier) < (cast_expression "(_Hash_node_base *)puStack_5c[0x13]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puStack_5c[0x13]" identifier [ number_literal ]))) ))))) ;) (goto_statement "goto LAB_00106ea4;" goto statement_identifier ;) })) }))) (expression_statement "pcVar40 = pcVar40 + 0x7664;" (assignment_expression "pcVar40 = pcVar40 + 0x7664" identifier = (binary_expression "pcVar40 + 0x7664" identifier + number_literal)) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0010ae48:\n      (*(pcVar40 + 0x4fac))();" statement_identifier : (expression_statement "(*(pcVar40 + 0x4fac))();" (call_expression "(*(pcVar40 + 0x4fac))()" (parenthesized_expression "(*(pcVar40 + 0x4fac))" ( (pointer_expression "*(pcVar40 + 0x4fac)" * (parenthesized_expression "(pcVar40 + 0x4fac)" ( (binary_expression "pcVar40 + 0x4fac" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_0010ae54;" goto statement_identifier ;) })) }) (else_clause "else {\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') goto LAB_00106e70;\n    p_Var21 = p_Var11[7]._M_nxt;\n    if (puStack_5c[0x18] == -1) {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;\n      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);\n      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;\n      p_Var29 = p_Var21[3]._M_nxt;\n      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);\n      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;\n      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);\n      uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;\n      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;\n      puVar4 = puVar32;\n      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }\n    }\n    else {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }\nLAB_00106ea4:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n  }" else (compound_statement "{\n    if (*(char *)((int)puStack_5c + 0x5d) != '\0') goto LAB_00106e70;\n    p_Var21 = p_Var11[7]._M_nxt;\n    if (puStack_5c[0x18] == -1) {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;\n      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);\n      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;\n      p_Var29 = p_Var21[3]._M_nxt;\n      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);\n      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;\n      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);\n      uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;\n      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;\n      puVar4 = puVar32;\n      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }\n    }\n    else {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }\nLAB_00106ea4:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n  }" { (if_statement "if (*(char *)((int)puStack_5c + 0x5d) != '\0') goto LAB_00106e70;" if (parenthesized_expression "(*(char *)((int)puStack_5c + 0x5d) != '\0')" ( (binary_expression "*(char *)((int)puStack_5c + 0x5d) != '\0'" (pointer_expression "*(char *)((int)puStack_5c + 0x5d)" * (cast_expression "(char *)((int)puStack_5c + 0x5d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puStack_5c + 0x5d)" ( (binary_expression "(int)puStack_5c + 0x5d" (cast_expression "(int)puStack_5c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00106e70;" goto statement_identifier ;)) (expression_statement "p_Var21 = p_Var11[7]._M_nxt;" (assignment_expression "p_Var21 = p_Var11[7]._M_nxt" identifier = (field_expression "p_Var11[7]._M_nxt" (subscript_expression "p_Var11[7]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (puStack_5c[0x18] == -1) {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;\n      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);\n      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;\n      p_Var29 = p_Var21[3]._M_nxt;\n      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);\n      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;\n      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);\n      uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;\n      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;\n      puVar4 = puVar32;\n      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }\n    }\n    else {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }" if (parenthesized_expression "(puStack_5c[0x18] == -1)" ( (binary_expression "puStack_5c[0x18] == -1" (subscript_expression "puStack_5c[0x18]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;\n      p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);\n      if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;\n      p_Var29 = p_Var21[3]._M_nxt;\n      p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);\n      puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;\n      p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);\n      uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;\n      if (puVar32 == (uint *)0x0) goto LAB_0010ae80;\n      puVar4 = puVar32;\n      if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }\n    }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3badb0);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3badb0)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3badb0)" * (cast_expression "(code **)(pcVar44 + 0x3badb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) ))))) ;) (if_statement "if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010aeb4;" if (parenthesized_expression "(p_Var21 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var21 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010aeb4;" goto statement_identifier ;)) (expression_statement "p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4);" (assignment_expression "p_Var29 = *(_Hash_node_base **)(pcVar44 + 0x3badb4)" identifier = (pointer_expression "*(_Hash_node_base **)(pcVar44 + 0x3badb4)" * (cast_expression "(_Hash_node_base **)(pcVar44 + 0x3badb4)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) ))))) ;) (if_statement "if (puStack_5c[0x19] == -1) goto LAB_0010ae9c;" if (parenthesized_expression "(puStack_5c[0x19] == -1)" ( (binary_expression "puStack_5c[0x19] == -1" (subscript_expression "puStack_5c[0x19]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0010ae9c;" goto statement_identifier ;)) (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3badb0);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3badb0)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3badb0)" * (cast_expression "(code **)(pcVar44 + 0x3badb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) ))))) ;) (if_statement "if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ae90;" if (parenthesized_expression "(-1 < (int)p_Var21[8]._M_nxt)" ( (binary_expression "-1 < (int)p_Var21[8]._M_nxt" number_literal < (cast_expression "(int)p_Var21[8]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var21[8]._M_nxt" (subscript_expression "p_Var21[8]" identifier [ number_literal ]) . field_identifier))) )) (goto_statement "goto LAB_0010ae90;" goto statement_identifier ;)) (expression_statement "p_Var29 = p_Var21[3]._M_nxt;" (assignment_expression "p_Var29 = p_Var21[3]._M_nxt" identifier = (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1);" (assignment_expression "p_Var15 = (_Hash_node_base *)((int)&p_Var29->_M_nxt + 1)" identifier = (cast_expression "(_Hash_node_base *)((int)&p_Var29->_M_nxt + 1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var29->_M_nxt + 1)" ( (binary_expression "(int)&p_Var29->_M_nxt + 1" (cast_expression "(int)&p_Var29->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var29->_M_nxt" & (field_expression "p_Var29->_M_nxt" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt);" (assignment_expression "p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt)" identifier = (cast_expression "(_Hash_node_base *)\n               ((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt)" ( (binary_expression "(int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt" (cast_expression "(int)&(p_Var21[0x13]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[0x13]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[0x13]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[0x13]._M_nxt)" ( (field_expression "p_Var21[0x13]._M_nxt" (subscript_expression "p_Var21[0x13]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (cast_expression "(int)&(p_Var21[0x11]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[0x11]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[0x11]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[0x11]._M_nxt)" ( (field_expression "p_Var21[0x11]._M_nxt" (subscript_expression "p_Var21[0x11]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier)))) )))) ;) (expression_statement "puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt;" (assignment_expression "puVar32 = (uint *)(uint)*(byte *)&p_Var11[3]._M_nxt" identifier = (binary_expression "(uint *)(uint)*(byte *)&p_Var11[3]._M_nxt" (cast_expression "(uint *)(uint)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)&p_Var11[3]._M_nxt" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var11[3]._M_nxt" & (field_expression "p_Var11[3]._M_nxt" (subscript_expression "p_Var11[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt);" (assignment_expression "p_Var16 = (_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt)" identifier = (cast_expression "(_Hash_node_base *)((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt)" ( (binary_expression "(int)&p_Var15->_M_nxt + (int)&p_Var7->_M_nxt" (cast_expression "(int)&p_Var15->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var15->_M_nxt" & (field_expression "p_Var15->_M_nxt" identifier -> field_identifier))) + (cast_expression "(int)&p_Var7->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var7->_M_nxt" & (field_expression "p_Var7->_M_nxt" identifier -> field_identifier)))) )))) ;) (expression_statement "uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19]);" (assignment_expression "uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19])" (field_expression "uStack_140._4_4_" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)((int)&p_Var16->_M_nxt + puStack_5c[0x19])" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var16->_M_nxt + puStack_5c[0x19])" ( (binary_expression "(int)&p_Var16->_M_nxt + puStack_5c[0x19]" (cast_expression "(int)&p_Var16->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var16->_M_nxt" & (field_expression "p_Var16->_M_nxt" identifier -> field_identifier))) + (subscript_expression "puStack_5c[0x19]" identifier [ number_literal ])) )))) ;) (expression_statement "uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)\n      ;" (assignment_expression "uStack_140._0_4_ =\n           (int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)" (field_expression "uStack_140._0_4_" identifier . field_identifier) = (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7) + (uint)(p_Var15 < p_Var29)" (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16) + (uint)(p_Var16 < p_Var7)" (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n           (uint)(uStack_140._4_4_ < p_Var16)" (cast_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[2]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[2]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[2]._M_nxt)" ( (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (call_expression "(uint)(uStack_140._4_4_ < p_Var16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_140._4_4_ < p_Var16)" ( (binary_expression "uStack_140._4_4_ < p_Var16" (field_expression "uStack_140._4_4_" identifier . field_identifier) < identifier) )))) + (call_expression "(uint)(p_Var16 < p_Var7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var16 < p_Var7)" ( (binary_expression "p_Var16 < p_Var7" identifier < identifier) )))) + (call_expression "(uint)(p_Var15 < p_Var29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var15 < p_Var29)" ( (binary_expression "p_Var15 < p_Var29" identifier < identifier) ))))) ;) (if_statement "if (puVar32 == (uint *)0x0) goto LAB_0010ae80;" if (parenthesized_expression "(puVar32 == (uint *)0x0)" ( (binary_expression "puVar32 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010ae80;" goto statement_identifier ;)) (expression_statement "puVar4 = puVar32;" (assignment_expression "puVar4 = puVar32" identifier = identifier) ;) (if_statement "if (((uint)p_Var11[2]._M_nxt & 0x2000000) == 0) {\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }" if (parenthesized_expression "(((uint)p_Var11[2]._M_nxt & 0x2000000) == 0)" ( (binary_expression "((uint)p_Var11[2]._M_nxt & 0x2000000) == 0" (parenthesized_expression "((uint)p_Var11[2]._M_nxt & 0x2000000)" ( (binary_expression "(uint)p_Var11[2]._M_nxt & 0x2000000" (cast_expression "(uint)p_Var11[2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var11[2]._M_nxt" (subscript_expression "p_Var11[2]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n        puVar4 = puVar39;\n        puStack_11c = puVar32;\n      }" { (expression_statement "puVar4 = puVar39;" (assignment_expression "puVar4 = puVar39" identifier = identifier) ;) (expression_statement "puStack_11c = puVar32;" (assignment_expression "puStack_11c = puVar32" identifier = identifier) ;) })) }) (else_clause "else {\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }" else (compound_statement "{\n      pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n      if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;\n      puVar4 = (uint *)0x0;\n      if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }\n      puStack_11c = (uint *)0x0;\n      p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);\n      uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);\n      p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));\n      uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);\n    }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3badb0);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3badb0)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3badb0)" * (cast_expression "(code **)(pcVar44 + 0x3badb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) ))))) ;) (if_statement "if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ae48;" if (parenthesized_expression "(p_Var21 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var21 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010ae48;" goto statement_identifier ;)) (expression_statement "puVar4 = (uint *)0x0;" (assignment_expression "puVar4 = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (-1 < (int)p_Var21[8]._M_nxt) {\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }" if (parenthesized_expression "(-1 < (int)p_Var21[8]._M_nxt)" ( (binary_expression "-1 < (int)p_Var21[8]._M_nxt" number_literal < (cast_expression "(int)p_Var21[8]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var21[8]._M_nxt" (subscript_expression "p_Var21[8]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\n        goto LAB_0010ae1c;\n      }" { (expression_statement "iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();" (assignment_expression "iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))()" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x7664" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( )))) ;) (goto_statement "goto LAB_0010ae1c;" goto statement_identifier ;) })) (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt);" (assignment_expression "p_Var7 = (_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt)" identifier = (cast_expression "(_Hash_node_base *)\n               ((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt)" ( (binary_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&(p_Var21[0x13]._M_nxt)->_M_nxt" (cast_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[3]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[3]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[3]._M_nxt)" ( (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (cast_expression "(int)&(p_Var21[0x13]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[0x13]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[0x13]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[0x13]._M_nxt)" ( (field_expression "p_Var21[0x13]._M_nxt" (subscript_expression "p_Var21[0x13]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier)))) )))) ;) (expression_statement "uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18]);" (assignment_expression "uStack_140._4_4_ = (_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18])" (field_expression "uStack_140._4_4_" identifier . field_identifier) = (cast_expression "(_Hash_node_base *)((int)&p_Var7->_M_nxt + puStack_5c[0x18])" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var7->_M_nxt + puStack_5c[0x18])" ( (binary_expression "(int)&p_Var7->_M_nxt + puStack_5c[0x18]" (cast_expression "(int)&p_Var7->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var7->_M_nxt" & (field_expression "p_Var7->_M_nxt" identifier -> field_identifier))) + (subscript_expression "puStack_5c[0x18]" identifier [ number_literal ])) )))) ;) (expression_statement "p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt));" (assignment_expression "p_Var29 = (_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt))" identifier = (cast_expression "(_Hash_node_base *)\n                ((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt))" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt))" ( (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var21[0x13]._M_nxt)" (cast_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[2]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[2]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[2]._M_nxt)" ( (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (call_expression "(uint)(p_Var7 < p_Var21[0x13]._M_nxt)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var7 < p_Var21[0x13]._M_nxt)" ( (binary_expression "p_Var7 < p_Var21[0x13]._M_nxt" identifier < (field_expression "p_Var21[0x13]._M_nxt" (subscript_expression "p_Var21[0x13]" identifier [ number_literal ]) . field_identifier)) )))) )))) ;) (expression_statement "uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7);" (assignment_expression "uStack_140._0_4_ = (int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7)" (field_expression "uStack_140._0_4_" identifier . field_identifier) = (binary_expression "(int)&p_Var29->_M_nxt + (uint)(uStack_140._4_4_ < p_Var7)" (cast_expression "(int)&p_Var29->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var29->_M_nxt" & (field_expression "p_Var29->_M_nxt" identifier -> field_identifier))) + (call_expression "(uint)(uStack_140._4_4_ < p_Var7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_140._4_4_ < p_Var7)" ( (binary_expression "uStack_140._4_4_ < p_Var7" (field_expression "uStack_140._4_4_" identifier . field_identifier) < identifier) ))))) ;) }))) (labeled_statement "LAB_00106ea4:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3ba5e0)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) ))))) ;)) }))) (expression_statement "iVar25 = (**(code **)(pcVar44 + 0x3bedcc))(*puStack_5c,iVar25 + 0x359c);" (assignment_expression "iVar25 = (**(code **)(pcVar44 + 0x3bedcc))(*puStack_5c,iVar25 + 0x359c)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bedcc))(*puStack_5c,iVar25 + 0x359c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bedcc))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bedcc)" * (pointer_expression "*(code **)(pcVar44 + 0x3bedcc)" * (cast_expression "(code **)(pcVar44 + 0x3bedcc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bedcc)" ( (binary_expression "pcVar44 + 0x3bedcc" identifier + number_literal) ))))) )) (argument_list "(*puStack_5c,iVar25 + 0x359c)" ( (pointer_expression "*puStack_5c" * identifier) , (binary_expression "iVar25 + 0x359c" identifier + number_literal) )))) ;) (if_statement "if (iVar25 == 0) {\n    uStack_140 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12);\n  }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\n    uStack_140 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12);\n  }" { (expression_statement "uStack_140 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12);" (assignment_expression "uStack_140 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12)" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))(p_Var11,iVar12)" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + -100)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + -100)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + -100)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + -100" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(p_Var11,iVar12)" ( identifier , identifier )))) ;) })) (if_statement "if (uVar3 == 100) {\n    if (puStack_5c[0x1b] == 0) {\n      if (puStack_5c[0x1c] == 0) goto LAB_00107960;\n      puVar39 = puStack_11c;\n      if (puStack_5c[6] == -1) goto LAB_0010afb0;\nLAB_001091dc:\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\nLAB_001091e0:\n      pcVar40 = (code *)(iVar25 + 9000);\n    }\n    else {\n      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\n      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;\n      pcVar40 = (code *)(iVar25 + 9000);\n      if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }\n    }\nLAB_001091e4:\n    uVar46 = (*pcVar40)();\n    puStack_104 = puVar4;\n    if (puVar4 != (uint *)0x0) {\nLAB_0010725c:\n      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n      uStack_140 = uVar46;\n      goto LAB_00107260;\n    }\n    puStack_104 = (uint *)0x1;\n    uStack_140 = uVar46;\nLAB_00107248:\n    uVar46 = uStack_140;\n    if (uVar3 - 0x8b < 3) {\nLAB_00107254:\n      uStack_140 = uVar46;\n      if (puStack_11c == (uint *)0x0) goto LAB_00107930;\n      goto LAB_0010725c;\n    }\n  }\n  else {\n    if ((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;\n      goto LAB_00107238;\n    }\nLAB_00106f1c:\n    iVar41 = *(int *)(iVar19 + 0x18);\n    iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41);\n    if ((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))) {\n      if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }\n      iVar25 = *(int *)(iVar12 + 0x1c4);\n      iVar41 = iVar12 + 0x1c0;\n      if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }\n      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);\nLAB_00107a7c:\n      uStack_140 = uVar46;\n      if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }\nLAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }\n      puStack_104 = (uint *)0x1;\nLAB_00107930:\n      uVar46 = uStack_140;\n      if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }\n      puStack_11c = (uint *)0x0;\n      goto LAB_00107288;\n    }\n    if (puStack_5c != (undefined4 *)0x0) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;\n      goto LAB_001071a8;\n    }\n    if (uVar3 != 100) goto LAB_00107238;\nLAB_001093fc:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (puVar4 == (uint *)0x0) {\n      if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }\n      goto LAB_00107288;\n    }\nLAB_00107260:\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);\n    (**(code **)(pcVar44 + 0x3bad90))(uVar8);\n  }" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (compound_statement "{\n    if (puStack_5c[0x1b] == 0) {\n      if (puStack_5c[0x1c] == 0) goto LAB_00107960;\n      puVar39 = puStack_11c;\n      if (puStack_5c[6] == -1) goto LAB_0010afb0;\nLAB_001091dc:\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\nLAB_001091e0:\n      pcVar40 = (code *)(iVar25 + 9000);\n    }\n    else {\n      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\n      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;\n      pcVar40 = (code *)(iVar25 + 9000);\n      if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }\n    }\nLAB_001091e4:\n    uVar46 = (*pcVar40)();\n    puStack_104 = puVar4;\n    if (puVar4 != (uint *)0x0) {\nLAB_0010725c:\n      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n      uStack_140 = uVar46;\n      goto LAB_00107260;\n    }\n    puStack_104 = (uint *)0x1;\n    uStack_140 = uVar46;\nLAB_00107248:\n    uVar46 = uStack_140;\n    if (uVar3 - 0x8b < 3) {\nLAB_00107254:\n      uStack_140 = uVar46;\n      if (puStack_11c == (uint *)0x0) goto LAB_00107930;\n      goto LAB_0010725c;\n    }\n  }" { (if_statement "if (puStack_5c[0x1b] == 0) {\n      if (puStack_5c[0x1c] == 0) goto LAB_00107960;\n      puVar39 = puStack_11c;\n      if (puStack_5c[6] == -1) goto LAB_0010afb0;\nLAB_001091dc:\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\nLAB_001091e0:\n      pcVar40 = (code *)(iVar25 + 9000);\n    }\n    else {\n      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\n      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;\n      pcVar40 = (code *)(iVar25 + 9000);\n      if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }\n    }" if (parenthesized_expression "(puStack_5c[0x1b] == 0)" ( (binary_expression "puStack_5c[0x1b] == 0" (subscript_expression "puStack_5c[0x1b]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n      if (puStack_5c[0x1c] == 0) goto LAB_00107960;\n      puVar39 = puStack_11c;\n      if (puStack_5c[6] == -1) goto LAB_0010afb0;\nLAB_001091dc:\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\nLAB_001091e0:\n      pcVar40 = (code *)(iVar25 + 9000);\n    }" { (if_statement "if (puStack_5c[0x1c] == 0) goto LAB_00107960;" if (parenthesized_expression "(puStack_5c[0x1c] == 0)" ( (binary_expression "puStack_5c[0x1c] == 0" (subscript_expression "puStack_5c[0x1c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00107960;" goto statement_identifier ;)) (expression_statement "puVar39 = puStack_11c;" (assignment_expression "puVar39 = puStack_11c" identifier = identifier) ;) (if_statement "if (puStack_5c[6] == -1) goto LAB_0010afb0;" if (parenthesized_expression "(puStack_5c[6] == -1)" ( (binary_expression "puStack_5c[6] == -1" (subscript_expression "puStack_5c[6]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_0010afb0;" goto statement_identifier ;)) (labeled_statement "LAB_001091dc:\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3bae28);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3bae28)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_001091e0:\n      pcVar40 = (code *)(iVar25 + 9000);" statement_identifier : (expression_statement "pcVar40 = (code *)(iVar25 + 9000);" (assignment_expression "pcVar40 = (code *)(iVar25 + 9000)" identifier = (cast_expression "(code *)(iVar25 + 9000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 9000)" ( (binary_expression "iVar25 + 9000" identifier + number_literal) )))) ;)) }) (else_clause "else {\n      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\n      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;\n      pcVar40 = (code *)(iVar25 + 9000);\n      if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }\n    }" else (compound_statement "{\n      if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;\n      iVar25 = *(int *)(pcVar44 + 0x3bae28);\n      if (puStack_5c[0x1c] == 0) goto LAB_001091e0;\n      pcVar40 = (code *)(iVar25 + 9000);\n      if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }\n    }" { (if_statement "if ((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)) goto LAB_00107960;" if (parenthesized_expression "((puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0))" ( (binary_expression "(puStack_5c[6] == -1) && (puStack_11c != (uint *)0x0)" (parenthesized_expression "(puStack_5c[6] == -1)" ( (binary_expression "puStack_5c[6] == -1" (subscript_expression "puStack_5c[6]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "(puStack_11c != (uint *)0x0)" ( (binary_expression "puStack_11c != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_00107960;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3bae28);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3bae28)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) ))))) ;) (if_statement "if (puStack_5c[0x1c] == 0) goto LAB_001091e0;" if (parenthesized_expression "(puStack_5c[0x1c] == 0)" ( (binary_expression "puStack_5c[0x1c] == 0" (subscript_expression "puStack_5c[0x1c]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_001091e0;" goto statement_identifier ;)) (expression_statement "pcVar40 = (code *)(iVar25 + 9000);" (assignment_expression "pcVar40 = (code *)(iVar25 + 9000)" identifier = (cast_expression "(code *)(iVar25 + 9000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar25 + 9000)" ( (binary_expression "iVar25 + 9000" identifier + number_literal) )))) ;) (if_statement "if (1 < *(uint *)(iVar12 + 0x28)) {\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }" if (parenthesized_expression "(1 < *(uint *)(iVar12 + 0x28))" ( (binary_expression "1 < *(uint *)(iVar12 + 0x28)" number_literal < (pointer_expression "*(uint *)(iVar12 + 0x28)" * (cast_expression "(uint *)(iVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28)" ( (binary_expression "iVar12 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;\n        uVar6 = 1;\n        if (uVar34 < 2) goto LAB_0010aedc;\n        while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }\n        goto LAB_001091dc;\n      }" { (expression_statement "uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8;" (assignment_expression "uVar34 = (*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8" identifier = (binary_expression "(*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)) +\n                 (*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8" (parenthesized_expression "(*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c))" ( (binary_expression "*(int *)(iVar12 + 0x234) - *(int *)(iVar12 + 0x22c)" (pointer_expression "*(int *)(iVar12 + 0x234)" * (cast_expression "(int *)(iVar12 + 0x234)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x234)" ( (binary_expression "iVar12 + 0x234" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 0x22c)" * (cast_expression "(int *)(iVar12 + 0x22c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x22c)" ( (binary_expression "iVar12 + 0x22c" identifier + number_literal) ))))) )) + (binary_expression "(*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)) * 8" (parenthesized_expression "(*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228))" ( (binary_expression "*(int *)(iVar12 + 0x230) - *(int *)(iVar12 + 0x228)" (pointer_expression "*(int *)(iVar12 + 0x230)" * (cast_expression "(int *)(iVar12 + 0x230)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x230)" ( (binary_expression "iVar12 + 0x230" identifier + number_literal) )))) - (pointer_expression "*(int *)(iVar12 + 0x228)" * (cast_expression "(int *)(iVar12 + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x228)" ( (binary_expression "iVar12 + 0x228" identifier + number_literal) ))))) )) * number_literal))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (if_statement "if (uVar34 < 2) goto LAB_0010aedc;" if (parenthesized_expression "(uVar34 < 2)" ( (binary_expression "uVar34 < 2" identifier < number_literal) )) (goto_statement "goto LAB_0010aedc;" goto statement_identifier ;)) (while_statement "while (uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0) {\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }" while (parenthesized_expression "(uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0)" ( (comma_expression "uVar26 = uVar6 >> 5, uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0" (assignment_expression "uVar26 = uVar6 >> 5" identifier = (binary_expression "uVar6 >> 5" identifier >> number_literal)) , (comma_expression "uVar13 = uVar6 & 0x1f, uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0" (assignment_expression "uVar13 = uVar6 & 0x1f" identifier = (binary_expression "uVar6 & 0x1f" identifier & number_literal)) , (comma_expression "uVar6 = uVar6 + 1,\n              (1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) , (binary_expression "(1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)) == 0" (parenthesized_expression "(1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4))" ( (binary_expression "1 << uVar13 & *(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)" (binary_expression "1 << uVar13" number_literal << identifier) & (pointer_expression "*(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)" * (cast_expression "(uint *)(*(int *)(iVar12 + 0x228) + uVar26 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar12 + 0x228) + uVar26 * 4)" ( (binary_expression "*(int *)(iVar12 + 0x228) + uVar26 * 4" (pointer_expression "*(int *)(iVar12 + 0x228)" * (cast_expression "(int *)(iVar12 + 0x228)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x228)" ( (binary_expression "iVar12 + 0x228" identifier + number_literal) )))) + (binary_expression "uVar26 * 4" identifier * number_literal)) ))))) )) == number_literal)))) )) (compound_statement "{\n          iVar25 = *(int *)(pcVar44 + 0x3bae28);\n          if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\n          if (uVar6 == uVar34) goto LAB_0010aee0;\n        }" { (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3bae28);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3bae28)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 == *(uint *)(iVar12 + 0x28)) goto LAB_001091e0;" if (parenthesized_expression "(uVar6 == *(uint *)(iVar12 + 0x28))" ( (binary_expression "uVar6 == *(uint *)(iVar12 + 0x28)" identifier == (pointer_expression "*(uint *)(iVar12 + 0x28)" * (cast_expression "(uint *)(iVar12 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x28)" ( (binary_expression "iVar12 + 0x28" identifier + number_literal) ))))) )) (goto_statement "goto LAB_001091e0;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3badb4);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3badb4)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) ))))) ;) (if_statement "if (uVar6 == uVar34) goto LAB_0010aee0;" if (parenthesized_expression "(uVar6 == uVar34)" ( (binary_expression "uVar6 == uVar34" identifier == identifier) )) (goto_statement "goto LAB_0010aee0;" goto statement_identifier ;)) })) (goto_statement "goto LAB_001091dc;" goto statement_identifier ;) })) }))) (labeled_statement "LAB_001091e4:\n    uVar46 = (*pcVar40)();" statement_identifier : (expression_statement "uVar46 = (*pcVar40)();" (assignment_expression "uVar46 = (*pcVar40)()" identifier = (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "puStack_104 = puVar4;" (assignment_expression "puStack_104 = puVar4" identifier = identifier) ;) (if_statement "if (puVar4 != (uint *)0x0) {\nLAB_0010725c:\n      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n      uStack_140 = uVar46;\n      goto LAB_00107260;\n    }" if (parenthesized_expression "(puVar4 != (uint *)0x0)" ( (binary_expression "puVar4 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0010725c:\n      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n      uStack_140 = uVar46;\n      goto LAB_00107260;\n    }" { (labeled_statement "LAB_0010725c:\n      iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3ba5e0)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) ))))) ;)) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (goto_statement "goto LAB_00107260;" goto statement_identifier ;) })) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (labeled_statement "LAB_00107248:\n    uVar46 = uStack_140;" statement_identifier : (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;)) (if_statement "if (uVar3 - 0x8b < 3) {\nLAB_00107254:\n      uStack_140 = uVar46;\n      if (puStack_11c == (uint *)0x0) goto LAB_00107930;\n      goto LAB_0010725c;\n    }" if (parenthesized_expression "(uVar3 - 0x8b < 3)" ( (binary_expression "uVar3 - 0x8b < 3" (binary_expression "uVar3 - 0x8b" identifier - number_literal) < number_literal) )) (compound_statement "{\nLAB_00107254:\n      uStack_140 = uVar46;\n      if (puStack_11c == (uint *)0x0) goto LAB_00107930;\n      goto LAB_0010725c;\n    }" { (labeled_statement "LAB_00107254:\n      uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (if_statement "if (puStack_11c == (uint *)0x0) goto LAB_00107930;" if (parenthesized_expression "(puStack_11c == (uint *)0x0)" ( (binary_expression "puStack_11c == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107930;" goto statement_identifier ;)) (goto_statement "goto LAB_0010725c;" goto statement_identifier ;) })) }) (else_clause "else {\n    if ((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;\n      goto LAB_00107238;\n    }\nLAB_00106f1c:\n    iVar41 = *(int *)(iVar19 + 0x18);\n    iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41);\n    if ((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))) {\n      if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }\n      iVar25 = *(int *)(iVar12 + 0x1c4);\n      iVar41 = iVar12 + 0x1c0;\n      if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }\n      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);\nLAB_00107a7c:\n      uStack_140 = uVar46;\n      if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }\nLAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }\n      puStack_104 = (uint *)0x1;\nLAB_00107930:\n      uVar46 = uStack_140;\n      if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }\n      puStack_11c = (uint *)0x0;\n      goto LAB_00107288;\n    }\n    if (puStack_5c != (undefined4 *)0x0) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;\n      goto LAB_001071a8;\n    }\n    if (uVar3 != 100) goto LAB_00107238;\nLAB_001093fc:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (puVar4 == (uint *)0x0) {\n      if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }\n      goto LAB_00107288;\n    }\nLAB_00107260:\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);\n    (**(code **)(pcVar44 + 0x3bad90))(uVar8);\n  }" else (compound_statement "{\n    if ((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;\n      goto LAB_00107238;\n    }\nLAB_00106f1c:\n    iVar41 = *(int *)(iVar19 + 0x18);\n    iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41);\n    if ((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))) {\n      if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }\n      iVar25 = *(int *)(iVar12 + 0x1c4);\n      iVar41 = iVar12 + 0x1c0;\n      if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }\n      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);\nLAB_00107a7c:\n      uStack_140 = uVar46;\n      if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }\nLAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }\n      puStack_104 = (uint *)0x1;\nLAB_00107930:\n      uVar46 = uStack_140;\n      if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }\n      puStack_11c = (uint *)0x0;\n      goto LAB_00107288;\n    }\n    if (puStack_5c != (undefined4 *)0x0) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;\n      goto LAB_001071a8;\n    }\n    if (uVar3 != 100) goto LAB_00107238;\nLAB_001093fc:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n    if (puVar4 == (uint *)0x0) {\n      if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }\n      goto LAB_00107288;\n    }\nLAB_00107260:\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);\n    (**(code **)(pcVar44 + 0x3bad90))(uVar8);\n  }" { (if_statement "if ((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;\n      goto LAB_00107238;\n    }" if (parenthesized_expression "((puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0'))))" ( (binary_expression "(puStack_5c[0x1a] == 0) || ((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))" (parenthesized_expression "(puStack_5c[0x1a] == 0)" ( (binary_expression "puStack_5c[0x1a] == 0" (subscript_expression "puStack_5c[0x1a]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')))" ( (parenthesized_expression "(uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0'))" ( (binary_expression "uVar3 == 0x67 && (*(char *)(puStack_5c + 0x10) == '\0')" (binary_expression "uVar3 == 0x67" identifier == number_literal) && (parenthesized_expression "(*(char *)(puStack_5c + 0x10) == '\0')" ( (binary_expression "*(char *)(puStack_5c + 0x10) == '\0'" (pointer_expression "*(char *)(puStack_5c + 0x10)" * (cast_expression "(char *)(puStack_5c + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_5c + 0x10)" ( (binary_expression "puStack_5c + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;\n      goto LAB_00107238;\n    }" { (expression_statement "p_Var29 = (_Hash_node_base *)puStack_5c[0x11];" (assignment_expression "p_Var29 = (_Hash_node_base *)puStack_5c[0x11]" identifier = (cast_expression "(_Hash_node_base *)puStack_5c[0x11]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puStack_5c[0x11]" identifier [ number_literal ]))) ;) (if_statement "if (p_Var29 != (_Hash_node_base *)0xffffffff) goto LAB_001071a8;" if (parenthesized_expression "(p_Var29 != (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var29 != (_Hash_node_base *)0xffffffff" identifier != (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001071a8;" goto statement_identifier ;)) (goto_statement "goto LAB_00107238;" goto statement_identifier ;) })) (labeled_statement "LAB_00106f1c:\n    iVar41 = *(int *)(iVar19 + 0x18);" statement_identifier : (expression_statement "iVar41 = *(int *)(iVar19 + 0x18);" (assignment_expression "iVar41 = *(int *)(iVar19 + 0x18)" identifier = (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) ))))) ;)) (expression_statement "iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41);" (assignment_expression "iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41)" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))(iVar12,iVar41)" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3bae28) + 0x1b70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3bae28) + 0x1b70)" ( (binary_expression "*(int *)(pcVar44 + 0x3bae28) + 0x1b70" (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(iVar12,iVar41)" ( identifier , identifier )))) ;) (if_statement "if ((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))) {\n      if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }\n      iVar25 = *(int *)(iVar12 + 0x1c4);\n      iVar41 = iVar12 + 0x1c0;\n      if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }\n      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);\nLAB_00107a7c:\n      uStack_140 = uVar46;\n      if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }\nLAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }\n      puStack_104 = (uint *)0x1;\nLAB_00107930:\n      uVar46 = uStack_140;\n      if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }\n      puStack_11c = (uint *)0x0;\n      goto LAB_00107288;\n    }" if (parenthesized_expression "((iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c)))" ( (binary_expression "(iVar25 == 0) && (iVar41 != *(int *)(iVar12 + 0x23c))" (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar41 != *(int *)(iVar12 + 0x23c))" ( (binary_expression "iVar41 != *(int *)(iVar12 + 0x23c)" identifier != (pointer_expression "*(int *)(iVar12 + 0x23c)" * (cast_expression "(int *)(iVar12 + 0x23c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x23c)" ( (binary_expression "iVar12 + 0x23c" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }\n      iVar25 = *(int *)(iVar12 + 0x1c4);\n      iVar41 = iVar12 + 0x1c0;\n      if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }\n      uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);\nLAB_00107a7c:\n      uStack_140 = uVar46;\n      if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }\nLAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }\n      puStack_104 = (uint *)0x1;\nLAB_00107930:\n      uVar46 = uStack_140;\n      if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }\n      puStack_11c = (uint *)0x0;\n      goto LAB_00107288;\n    }" { (if_statement "if (puStack_5c != (undefined4 *)0x0) {\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;\n        if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }\n        p_Var29 = p_Var11[0x14]._M_nxt;\n        pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n        if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;\n        puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);\n        if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }\nLAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }\nLAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n        if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }\nLAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }\n        iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);\n        if (iVar25 == 0) goto LAB_00107230;\n        p_Var21 = p_Var11[0x14]._M_nxt;\n        if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;\n        if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;\n        p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);\n        iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);\n        uStack_140 = CONCAT44(iVar25,p_Var7);\n        if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }\nLAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;\n        uVar46 = uStack_140;\n        if (uVar3 != 0x85) goto LAB_00107248;\n        goto LAB_00107254;\n      }" { (if_statement "if (*(char *)(puStack_5c + 0x10) == '\0') goto LAB_0010ad6c;" if (parenthesized_expression "(*(char *)(puStack_5c + 0x10) == '\0')" ( (binary_expression "*(char *)(puStack_5c + 0x10) == '\0'" (pointer_expression "*(char *)(puStack_5c + 0x10)" * (cast_expression "(char *)(puStack_5c + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_5c + 0x10)" ( (binary_expression "puStack_5c + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010ad6c;" goto statement_identifier ;)) (if_statement "if (puStack_5c[0x11] == -1) {\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }" if (parenthesized_expression "(puStack_5c[0x11] == -1)" ( (binary_expression "puStack_5c[0x11] == -1" (subscript_expression "puStack_5c[0x11]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);\n          goto LAB_00107a7c;\n        }" { (expression_statement "uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4);" (assignment_expression "uVar46 = (*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4)" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))\n                             (puStack_5c[0x1a],puStack_5c[0x1a] + 4)" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3bae28) + 9000)" ( (binary_expression "*(int *)(pcVar44 + 0x3bae28) + 9000" (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_5c[0x1a],puStack_5c[0x1a] + 4)" ( (subscript_expression "puStack_5c[0x1a]" identifier [ number_literal ]) , (binary_expression "puStack_5c[0x1a] + 4" (subscript_expression "puStack_5c[0x1a]" identifier [ number_literal ]) + number_literal) )))) ;) (goto_statement "goto LAB_00107a7c;" goto statement_identifier ;) })) (expression_statement "p_Var29 = p_Var11[0x14]._M_nxt;" (assignment_expression "p_Var29 = p_Var11[0x14]._M_nxt" identifier = (field_expression "p_Var11[0x14]._M_nxt" (subscript_expression "p_Var11[0x14]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3badb0);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3badb0)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3badb0)" * (cast_expression "(code **)(pcVar44 + 0x3badb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) ))))) ;) (if_statement "if (p_Var29 == (_Hash_node_base *)0x0) goto LAB_0010af28;" if (parenthesized_expression "(p_Var29 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var29 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010af28;" goto statement_identifier ;)) (expression_statement "puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f);" (assignment_expression "puStack_104 = (uint *)-((int)p_Var29[8]._M_nxt >> 0x1f)" identifier = (cast_expression "(uint *)-((int)p_Var29[8]._M_nxt >> 0x1f)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (unary_expression "-((int)p_Var29[8]._M_nxt >> 0x1f)" - (parenthesized_expression "((int)p_Var29[8]._M_nxt >> 0x1f)" ( (binary_expression "(int)p_Var29[8]._M_nxt >> 0x1f" (cast_expression "(int)p_Var29[8]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var29[8]._M_nxt" (subscript_expression "p_Var29[8]" identifier [ number_literal ]) . field_identifier)) >> number_literal) ))))) ;) (if_statement "if (puStack_104 != (uint *)0x0) {\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }" if (parenthesized_expression "(puStack_104 != (uint *)0x0)" ( (binary_expression "puStack_104 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);\n          uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);\n          if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }\n          goto LAB_00107914;\n        }" { (expression_statement "p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]);" (assignment_expression "p_Var21 = (_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11])" identifier = (cast_expression "(_Hash_node_base *)((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11])" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11])" ( (binary_expression "(int)&(p_Var29[3]._M_nxt)->_M_nxt + puStack_5c[0x11]" (cast_expression "(int)&(p_Var29[3]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var29[3]._M_nxt)->_M_nxt" & (field_expression "(p_Var29[3]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var29[3]._M_nxt)" ( (field_expression "p_Var29[3]._M_nxt" (subscript_expression "p_Var29[3]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (subscript_expression "puStack_5c[0x11]" identifier [ number_literal ])) )))) ;) (expression_statement "uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21);" (assignment_expression "uStack_140 = CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21)" identifier = (call_expression "CONCAT44((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21)" identifier (argument_list "((int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt),p_Var21)" ( (binary_expression "(int)&(p_Var29[2]._M_nxt)->_M_nxt +\n                                (uint)(p_Var21 < p_Var29[3]._M_nxt)" (cast_expression "(int)&(p_Var29[2]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var29[2]._M_nxt)->_M_nxt" & (field_expression "(p_Var29[2]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var29[2]._M_nxt)" ( (field_expression "p_Var29[2]._M_nxt" (subscript_expression "p_Var29[2]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (call_expression "(uint)(p_Var21 < p_Var29[3]._M_nxt)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var21 < p_Var29[3]._M_nxt)" ( (binary_expression "p_Var21 < p_Var29[3]._M_nxt" identifier < (field_expression "p_Var29[3]._M_nxt" (subscript_expression "p_Var29[3]" identifier [ number_literal ]) . field_identifier)) )))) , identifier )))) ;) (if_statement "if (uVar3 == 0x85) {\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }" if (parenthesized_expression "(uVar3 == 0x85)" ( (binary_expression "uVar3 == 0x85" identifier == number_literal) )) (compound_statement "{\n            puStack_11c = (uint *)0x0;\n            goto LAB_00107288;\n          }" { (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107288;" goto statement_identifier ;) })) (goto_statement "goto LAB_00107914;" goto statement_identifier ;) })) (labeled_statement "LAB_0010afa0:\n        puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();" statement_identifier : (expression_statement "puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();" (assignment_expression "puVar39 = (uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))()" identifier = (cast_expression "(uint *)(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))()" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x7664" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))))) ;)) (labeled_statement "LAB_0010afb0:\n        if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }" statement_identifier : (if_statement "if (puVar39 == (uint *)0x0) {\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }" if (parenthesized_expression "(puVar39 == (uint *)0x0)" ( (binary_expression "puVar39 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);\n          goto LAB_001091e4;\n        }" { (expression_statement "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3bae28) + 9000)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + 0x3bae28) + 9000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3bae28) + 9000)" ( (binary_expression "*(int *)(pcVar44 + 0x3bae28) + 9000" (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_001091e4;" goto statement_identifier ;) }))) (labeled_statement "LAB_00107960:\n        p_Var29 = (_Hash_node_base *)puStack_5c[0x11];" statement_identifier : (expression_statement "p_Var29 = (_Hash_node_base *)puStack_5c[0x11];" (assignment_expression "p_Var29 = (_Hash_node_base *)puStack_5c[0x11]" identifier = (cast_expression "(_Hash_node_base *)puStack_5c[0x11]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puStack_5c[0x11]" identifier [ number_literal ]))) ;)) (if_statement "if (p_Var29 == (_Hash_node_base *)0xffffffff) {\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }" if (parenthesized_expression "(p_Var29 == (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var29 == (_Hash_node_base *)0xffffffff" identifier == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;\n          if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_001093fc;\n          goto LAB_00107990;\n        }" { (labeled_statement "LAB_00107970:\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;" statement_identifier : (if_statement "if (puStack_5c == (undefined4 *)0x0) goto LAB_001093fc;" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001093fc;" goto statement_identifier ;))) (if_statement "if (puStack_5c[6] == -1) {\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }" if (parenthesized_expression "(puStack_5c[6] == -1)" ( (binary_expression "puStack_5c[6] == -1" (subscript_expression "puStack_5c[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            pcVar40 = *(code **)(pcVar44 + 0x3bb020);\n            if (puVar4 == (uint *)0x0) goto LAB_0010728c;\n            iVar25 = *(int *)(pcVar44 + 0x3ba5e0);\n            goto LAB_00107260;\n          }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3bb020);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3bb020)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3bb020)" * (cast_expression "(code **)(pcVar44 + 0x3bb020)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb020)" ( (binary_expression "pcVar44 + 0x3bb020" identifier + number_literal) ))))) ;) (if_statement "if (puVar4 == (uint *)0x0) goto LAB_0010728c;" if (parenthesized_expression "(puVar4 == (uint *)0x0)" ( (binary_expression "puVar4 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010728c;" goto statement_identifier ;)) (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3ba5e0)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00107260;" goto statement_identifier ;) })) (expression_statement "iVar25 = puStack_5c[0x19];" (assignment_expression "iVar25 = puStack_5c[0x19]" identifier = (subscript_expression "puStack_5c[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar25 == -1) goto LAB_001093fc;" if (parenthesized_expression "(iVar25 == -1)" ( (binary_expression "iVar25 == -1" identifier == number_literal) )) (goto_statement "goto LAB_001093fc;" goto statement_identifier ;)) (goto_statement "goto LAB_00107990;" goto statement_identifier ;) })) (labeled_statement "LAB_001071a8:\n        if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }" statement_identifier : (if_statement "if (*(int *)(iVar12 + 0x1f8) < 0) {\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }" if (parenthesized_expression "(*(int *)(iVar12 + 0x1f8) < 0)" ( (binary_expression "*(int *)(iVar12 + 0x1f8) < 0" (pointer_expression "*(int *)(iVar12 + 0x1f8)" * (cast_expression "(int *)(iVar12 + 0x1f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1f8)" ( (binary_expression "iVar12 + 0x1f8" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\nLAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;\nLAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;\n          uVar46 = uStack_140;\n          if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;\n          if (puStack_5c[6] == -1) goto LAB_00107254;\n          iVar25 = puStack_5c[0x19];\n          if (iVar25 == -1) goto LAB_00107a28;\nLAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;\n          p_Var21 = p_Var11[7]._M_nxt;\n          pcVar40 = *(code **)(pcVar44 + 0x3badb0);\n          if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }\n          (*(pcVar40 + 0x4fac))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          puVar39 = puVar4;\n          uVar46 = uStack_140;\nLAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);\n          uStack_140 = uVar46;\n          (*pcVar40)();\n          uVar46 = uStack_140;\nLAB_0010ae90:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x7664))();\n          uVar46 = uStack_140;\nLAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n          uStack_140 = uVar46;\n          (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);\n          puVar4 = puVar39;\n          uVar46 = uStack_140;\nLAB_0010aeb4:\n          uStack_140 = uVar46;\n          (*(pcVar40 + 0x4fac))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);\nLAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n          (*pcVar40)();\nLAB_0010af28:\n          (*(pcVar40 + 0x4f78))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n          goto LAB_0010afa0;\n        }" { (labeled_statement "LAB_00107230:\n          if (uVar3 == 100) goto LAB_00107970;" statement_identifier : (if_statement "if (uVar3 == 100) goto LAB_00107970;" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (goto_statement "goto LAB_00107970;" goto statement_identifier ;))) (labeled_statement "LAB_00107238:\n          if (uVar3 != 0x85) goto LAB_00107248;" statement_identifier : (if_statement "if (uVar3 != 0x85) goto LAB_00107248;" if (parenthesized_expression "(uVar3 != 0x85)" ( (binary_expression "uVar3 != 0x85" identifier != number_literal) )) (goto_statement "goto LAB_00107248;" goto statement_identifier ;))) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (if_statement "if (puStack_5c == (undefined4 *)0x0) goto LAB_00107178;" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107178;" goto statement_identifier ;)) (if_statement "if (puStack_5c[6] == -1) goto LAB_00107254;" if (parenthesized_expression "(puStack_5c[6] == -1)" ( (binary_expression "puStack_5c[6] == -1" (subscript_expression "puStack_5c[6]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00107254;" goto statement_identifier ;)) (expression_statement "iVar25 = puStack_5c[0x19];" (assignment_expression "iVar25 = puStack_5c[0x19]" identifier = (subscript_expression "puStack_5c[0x19]" identifier [ number_literal ])) ;) (if_statement "if (iVar25 == -1) goto LAB_00107a28;" if (parenthesized_expression "(iVar25 == -1)" ( (binary_expression "iVar25 == -1" identifier == number_literal) )) (goto_statement "goto LAB_00107a28;" goto statement_identifier ;)) (labeled_statement "LAB_00107990:\n          if (puStack_5c[0x18] == -1) goto LAB_00107a28;" statement_identifier : (if_statement "if (puStack_5c[0x18] == -1) goto LAB_00107a28;" if (parenthesized_expression "(puStack_5c[0x18] == -1)" ( (binary_expression "puStack_5c[0x18] == -1" (subscript_expression "puStack_5c[0x18]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00107a28;" goto statement_identifier ;))) (expression_statement "p_Var21 = p_Var11[7]._M_nxt;" (assignment_expression "p_Var21 = p_Var11[7]._M_nxt" identifier = (field_expression "p_Var11[7]._M_nxt" (subscript_expression "p_Var11[7]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3badb0);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3badb0)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3badb0)" * (cast_expression "(code **)(pcVar44 + 0x3badb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) ))))) ;) (if_statement "if (p_Var21 != (_Hash_node_base *)0x0) {\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }" if (parenthesized_expression "(p_Var21 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var21 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            p_Var29 = p_Var11;\n            if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }\nLAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);\n            (*pcVar40)();\n          }" { (expression_statement "p_Var29 = p_Var11;" (assignment_expression "p_Var29 = p_Var11" identifier = identifier) ;) (if_statement "if ((int)p_Var21[8]._M_nxt < 0) {\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }" if (parenthesized_expression "((int)p_Var21[8]._M_nxt < 0)" ( (binary_expression "(int)p_Var21[8]._M_nxt < 0" (cast_expression "(int)p_Var21[8]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var21[8]._M_nxt" (subscript_expression "p_Var21[8]" identifier [ number_literal ]) . field_identifier)) < number_literal) )) (compound_statement "{\n              p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);\n              uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;\n              uVar34 = (int)&p_Var29->_M_nxt + uVar6;\n              uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);\n              if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;\n              uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;\n              puStack_11c = (uint *)(uint)(uVar42 == 0);\n              puVar4 = (uint *)(uint)(uVar42 != 0);\n              goto LAB_00107a28;\n            }" { (expression_statement "p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1);" (assignment_expression "p_Var29 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1)" identifier = (cast_expression "(_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var21[3]._M_nxt)->_M_nxt + 1)" ( (binary_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt + 1" (cast_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[3]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[3]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[3]._M_nxt)" ( (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + number_literal) )))) ;) (expression_statement "uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt;" (assignment_expression "uVar6 = (int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt" identifier = (binary_expression "(int)&(p_Var21[0x13]._M_nxt)->_M_nxt + (int)&(p_Var21[0x11]._M_nxt)->_M_nxt" (cast_expression "(int)&(p_Var21[0x13]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[0x13]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[0x13]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[0x13]._M_nxt)" ( (field_expression "p_Var21[0x13]._M_nxt" (subscript_expression "p_Var21[0x13]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (cast_expression "(int)&(p_Var21[0x11]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[0x11]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[0x11]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[0x11]._M_nxt)" ( (field_expression "p_Var21[0x11]._M_nxt" (subscript_expression "p_Var21[0x11]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))))) ;) (expression_statement "uVar34 = (int)&p_Var29->_M_nxt + uVar6;" (assignment_expression "uVar34 = (int)&p_Var29->_M_nxt + uVar6" identifier = (binary_expression "(int)&p_Var29->_M_nxt + uVar6" (cast_expression "(int)&p_Var29->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var29->_M_nxt" & (field_expression "p_Var29->_M_nxt" identifier -> field_identifier))) + identifier)) ;) (expression_statement "uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25);" (assignment_expression "uStack_140 = CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25)" identifier = (call_expression "CONCAT44((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25)" identifier (argument_list "((int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt),\n                                    uVar34 + iVar25)" ( (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6) + (uint)(p_Var29 < p_Var21[3]._M_nxt)" (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34) +\n                                    (uint)(uVar34 < uVar6)" (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt +\n                                    (uint)(uVar34 + iVar25 < uVar34)" (cast_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[2]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[2]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[2]._M_nxt)" ( (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (call_expression "(uint)(uVar34 + iVar25 < uVar34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar34 + iVar25 < uVar34)" ( (binary_expression "uVar34 + iVar25 < uVar34" (binary_expression "uVar34 + iVar25" identifier + identifier) < identifier) )))) + (call_expression "(uint)(uVar34 < uVar6)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar34 < uVar6)" ( (binary_expression "uVar34 < uVar6" identifier < identifier) )))) + (call_expression "(uint)(p_Var29 < p_Var21[3]._M_nxt)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var29 < p_Var21[3]._M_nxt)" ( (binary_expression "p_Var29 < p_Var21[3]._M_nxt" identifier < (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier)) )))) , (binary_expression "uVar34 + iVar25" identifier + identifier) )))) ;) (if_statement "if (*(char *)&p_Var11[3]._M_nxt == '\0') goto LAB_0010ada8;" if (parenthesized_expression "(*(char *)&p_Var11[3]._M_nxt == '\0')" ( (binary_expression "*(char *)&p_Var11[3]._M_nxt == '\0'" (pointer_expression "*(char *)&p_Var11[3]._M_nxt" * (cast_expression "(char *)&p_Var11[3]._M_nxt" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var11[3]._M_nxt" & (field_expression "p_Var11[3]._M_nxt" (subscript_expression "p_Var11[3]" identifier [ number_literal ]) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0010ada8;" goto statement_identifier ;)) (expression_statement "uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000;" (assignment_expression "uVar42 = (uint)p_Var11[2]._M_nxt & 0x2000000" identifier = (binary_expression "(uint)p_Var11[2]._M_nxt & 0x2000000" (cast_expression "(uint)p_Var11[2]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var11[2]._M_nxt" (subscript_expression "p_Var11[2]" identifier [ number_literal ]) . field_identifier)) & number_literal)) ;) (expression_statement "puStack_11c = (uint *)(uint)(uVar42 == 0);" (assignment_expression "puStack_11c = (uint *)(uint)(uVar42 == 0)" identifier = (cast_expression "(uint *)(uint)(uVar42 == 0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar42 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) ))))) ;) (expression_statement "puVar4 = (uint *)(uint)(uVar42 != 0);" (assignment_expression "puVar4 = (uint *)(uint)(uVar42 != 0)" identifier = (cast_expression "(uint *)(uint)(uVar42 != 0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(uVar42 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar42 != 0)" ( (binary_expression "uVar42 != 0" identifier != number_literal) ))))) ;) (goto_statement "goto LAB_00107a28;" goto statement_identifier ;) })) (labeled_statement "LAB_0010ae54:\n            pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);" statement_identifier : (expression_statement "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x7664" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "(*(pcVar40 + 0x4fac))();" (call_expression "(*(pcVar40 + 0x4fac))()" (parenthesized_expression "(*(pcVar40 + 0x4fac))" ( (pointer_expression "*(pcVar40 + 0x4fac)" * (parenthesized_expression "(pcVar40 + 0x4fac)" ( (binary_expression "pcVar40 + 0x4fac" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar39 = puVar4;" (assignment_expression "puVar39 = puVar4" identifier = identifier) ;) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (labeled_statement "LAB_0010ae80:\n          pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);" statement_identifier : (expression_statement "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x5a84)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x5a84" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) ;)) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (labeled_statement "LAB_0010ae90:\n          uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (expression_statement "(*(pcVar40 + 0x7664))();" (call_expression "(*(pcVar40 + 0x7664))()" (parenthesized_expression "(*(pcVar40 + 0x7664))" ( (pointer_expression "*(pcVar40 + 0x7664)" * (parenthesized_expression "(pcVar40 + 0x7664)" ( (binary_expression "pcVar40 + 0x7664" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (labeled_statement "LAB_0010ae9c:\n          pcVar40 = *(code **)(pcVar44 + 0x3bad94);" statement_identifier : (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3bad94);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3bad94)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) ;)) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (expression_statement "(*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5);" (call_expression "(*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x9ed,p_Var29 + -0xdc5)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "p_Var29 + -0xdc5" identifier + number_literal) ))) ;) (expression_statement "puVar4 = puVar39;" (assignment_expression "puVar4 = puVar39" identifier = identifier) ;) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (labeled_statement "LAB_0010aeb4:\n          uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (expression_statement "(*(pcVar40 + 0x4fac))();" (call_expression "(*(pcVar40 + 0x4fac))()" (parenthesized_expression "(*(pcVar40 + 0x4fac))" ( (pointer_expression "*(pcVar40 + 0x4fac)" * (parenthesized_expression "(pcVar40 + 0x4fac)" ( (binary_expression "pcVar40 + 0x4fac" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f66,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0010aedc:\n          iVar25 = *(int *)(pcVar44 + 0x3badb4);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3badb4);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3badb4)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0010aee0:\n          (**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);" statement_identifier : (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x723,iVar25 + -0x36e0)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar25 + -0x36e0" identifier + number_literal) ))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0010af28:\n          (*(pcVar40 + 0x4f78))();" statement_identifier : (expression_statement "(*(pcVar40 + 0x4f78))();" (call_expression "(*(pcVar40 + 0x4f78))()" (parenthesized_expression "(*(pcVar40 + 0x4f78))" ( (pointer_expression "*(pcVar40 + 0x4f78)" * (parenthesized_expression "(pcVar40 + 0x4f78)" ( (binary_expression "pcVar40 + 0x4f78" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2f3d,\n                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0010afa0;" goto statement_identifier ;) }))) (expression_statement "iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c);" (assignment_expression "iVar25 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c)" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))(uVar3,puStack_11c)" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4eb8)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4eb8" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(uVar3,puStack_11c)" ( identifier , identifier )))) ;) (if_statement "if (iVar25 == 0) goto LAB_00107230;" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00107230;" goto statement_identifier ;)) (expression_statement "p_Var21 = p_Var11[0x14]._M_nxt;" (assignment_expression "p_Var21 = p_Var11[0x14]._M_nxt" identifier = (field_expression "p_Var11[0x14]._M_nxt" (subscript_expression "p_Var11[0x14]" identifier [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var21 == (_Hash_node_base *)0x0) goto LAB_0010ad98;" if (parenthesized_expression "(p_Var21 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var21 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010ad98;" goto statement_identifier ;)) (if_statement "if (-1 < (int)p_Var21[8]._M_nxt) goto LAB_0010ad88;" if (parenthesized_expression "(-1 < (int)p_Var21[8]._M_nxt)" ( (binary_expression "-1 < (int)p_Var21[8]._M_nxt" number_literal < (cast_expression "(int)p_Var21[8]._M_nxt" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var21[8]._M_nxt" (subscript_expression "p_Var21[8]" identifier [ number_literal ]) . field_identifier))) )) (goto_statement "goto LAB_0010ad88;" goto statement_identifier ;)) (expression_statement "p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt);" (assignment_expression "p_Var7 = (_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt)" identifier = (cast_expression "(_Hash_node_base *)((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt)" ( (binary_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt + (int)&p_Var29->_M_nxt" (cast_expression "(int)&(p_Var21[3]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[3]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[3]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[3]._M_nxt)" ( (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (cast_expression "(int)&p_Var29->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var29->_M_nxt" & (field_expression "p_Var29->_M_nxt" identifier -> field_identifier)))) )))) ;) (expression_statement "iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29);" (assignment_expression "iVar25 = (int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29)" identifier = (binary_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt + (uint)(p_Var7 < p_Var29)" (cast_expression "(int)&(p_Var21[2]._M_nxt)->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var21[2]._M_nxt)->_M_nxt" & (field_expression "(p_Var21[2]._M_nxt)->_M_nxt" (parenthesized_expression "(p_Var21[2]._M_nxt)" ( (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (call_expression "(uint)(p_Var7 < p_Var29)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var7 < p_Var29)" ( (binary_expression "p_Var7 < p_Var29" identifier < identifier) ))))) ;) (expression_statement "uStack_140 = CONCAT44(iVar25,p_Var7);" (assignment_expression "uStack_140 = CONCAT44(iVar25,p_Var7)" identifier = (call_expression "CONCAT44(iVar25,p_Var7)" identifier (argument_list "(iVar25,p_Var7)" ( identifier , identifier )))) ;) (if_statement "if ((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20) {\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }" if (parenthesized_expression "((*(ushort *)(puStack_5c + 10) & 0x30) == 0x20)" ( (binary_expression "(*(ushort *)(puStack_5c + 10) & 0x30) == 0x20" (parenthesized_expression "(*(ushort *)(puStack_5c + 10) & 0x30)" ( (binary_expression "*(ushort *)(puStack_5c + 10) & 0x30" (pointer_expression "*(ushort *)(puStack_5c + 10)" * (cast_expression "(ushort *)(puStack_5c + 10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_5c + 10)" ( (binary_expression "puStack_5c + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);\n          uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);\n        }" { (expression_statement "p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1);" (assignment_expression "p_Var29 = (_Hash_node_base *)((int)&p_Var7->_M_nxt + 1)" identifier = (cast_expression "(_Hash_node_base *)((int)&p_Var7->_M_nxt + 1)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var7->_M_nxt + 1)" ( (binary_expression "(int)&p_Var7->_M_nxt + 1" (cast_expression "(int)&p_Var7->_M_nxt" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var7->_M_nxt" & (field_expression "p_Var7->_M_nxt" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29);" (assignment_expression "uStack_140 = CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29)" identifier = (call_expression "CONCAT44((uint)(p_Var29 < p_Var7) + iVar25,p_Var29)" identifier (argument_list "((uint)(p_Var29 < p_Var7) + iVar25,p_Var29)" ( (binary_expression "(uint)(p_Var29 < p_Var7) + iVar25" (call_expression "(uint)(p_Var29 < p_Var7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(p_Var29 < p_Var7)" ( (binary_expression "p_Var29 < p_Var7" identifier < identifier) ))) + identifier) , identifier )))) ;) })) (labeled_statement "LAB_00107a28:\n        if (uVar3 == 100) goto LAB_001093fc;" statement_identifier : (if_statement "if (uVar3 == 100) goto LAB_001093fc;" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (goto_statement "goto LAB_001093fc;" goto statement_identifier ;))) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (if_statement "if (uVar3 != 0x85) goto LAB_00107248;" if (parenthesized_expression "(uVar3 != 0x85)" ( (binary_expression "uVar3 != 0x85" identifier != number_literal) )) (goto_statement "goto LAB_00107248;" goto statement_identifier ;)) (goto_statement "goto LAB_00107254;" goto statement_identifier ;) })) (expression_statement "iVar25 = *(int *)(iVar12 + 0x1c4);" (assignment_expression "iVar25 = *(int *)(iVar12 + 0x1c4)" identifier = (pointer_expression "*(int *)(iVar12 + 0x1c4)" * (cast_expression "(int *)(iVar12 + 0x1c4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1c4)" ( (binary_expression "iVar12 + 0x1c4" identifier + number_literal) ))))) ;) (expression_statement "iVar41 = iVar12 + 0x1c0;" (assignment_expression "iVar41 = iVar12 + 0x1c0" identifier = (binary_expression "iVar12 + 0x1c0" identifier + number_literal)) ;) (if_statement "if (iVar25 == 0) {\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }\n      else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n      }" { (labeled_statement "LAB_00107a60:\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);" statement_identifier : (expression_statement "iVar41 = *(int *)(pcVar44 + 0x3bae28);" (assignment_expression "iVar41 = *(int *)(pcVar44 + 0x3bae28)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }" else (compound_statement "{\n        do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);\n        iVar41 = *(int *)(pcVar44 + 0x3bae28);\n        iVar25 = 0;\n        if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }\n      }" { (do_statement "do {\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        } while (iVar25 != 0);" do (compound_statement "{\n          iVar17 = iVar25;\n          if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }\n          iVar41 = iVar17;\n        }" { (expression_statement "iVar17 = iVar25;" (assignment_expression "iVar17 = iVar25" identifier = identifier) ;) (if_statement "if (*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108) {\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }\n          else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }" if (parenthesized_expression "(*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108)" ( (binary_expression "*(_Hash_node_base **)(iVar17 + 0x10) < p_Stack_108" (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            iVar25 = *(int *)(iVar17 + 0xc);\n            iVar17 = iVar41;\n          }" { (expression_statement "iVar25 = *(int *)(iVar17 + 0xc);" (assignment_expression "iVar25 = *(int *)(iVar17 + 0xc)" identifier = (pointer_expression "*(int *)(iVar17 + 0xc)" * (cast_expression "(int *)(iVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar17 = iVar41;" (assignment_expression "iVar17 = iVar41" identifier = identifier) ;) }) (else_clause "else {\n            iVar25 = *(int *)(iVar17 + 8);\n          }" else (compound_statement "{\n            iVar25 = *(int *)(iVar17 + 8);\n          }" { (expression_statement "iVar25 = *(int *)(iVar17 + 8);" (assignment_expression "iVar25 = *(int *)(iVar17 + 8)" identifier = (pointer_expression "*(int *)(iVar17 + 8)" * (cast_expression "(int *)(iVar17 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 8)" ( (binary_expression "iVar17 + 8" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar41 = iVar17;" (assignment_expression "iVar41 = iVar17" identifier = identifier) ;) }) while (parenthesized_expression "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) )) ;) (expression_statement "iVar41 = *(int *)(pcVar44 + 0x3bae28);" (assignment_expression "iVar41 = *(int *)(pcVar44 + 0x3bae28)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) ))))) ;) (expression_statement "iVar25 = 0;" (assignment_expression "iVar25 = 0" identifier = number_literal) ;) (if_statement "if ((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)) {\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }" if (parenthesized_expression "((iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108))" ( (binary_expression "(iVar12 + 0x1c0 != iVar17) && (*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)" (parenthesized_expression "(iVar12 + 0x1c0 != iVar17)" ( (binary_expression "iVar12 + 0x1c0 != iVar17" (binary_expression "iVar12 + 0x1c0" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108)" ( (binary_expression "*(_Hash_node_base **)(iVar17 + 0x10) <= p_Stack_108" (pointer_expression "*(_Hash_node_base **)(iVar17 + 0x10)" * (cast_expression "(_Hash_node_base **)(iVar17 + 0x10)" ( (type_descriptor "_Hash_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n          iVar25 = *(int *)(iVar17 + 0x14);\n          goto LAB_00107a60;\n        }" { (expression_statement "iVar25 = *(int *)(iVar17 + 0x14);" (assignment_expression "iVar25 = *(int *)(iVar17 + 0x14)" identifier = (pointer_expression "*(int *)(iVar17 + 0x14)" * (cast_expression "(int *)(iVar17 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x14)" ( (binary_expression "iVar17 + 0x14" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00107a60;" goto statement_identifier ;) })) }))) (expression_statement "uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4);" (assignment_expression "uVar46 = (*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4)" identifier = (call_expression "(*(code *)(iVar41 + 9000))(iVar25,iVar25 + 4)" (parenthesized_expression "(*(code *)(iVar41 + 9000))" ( (pointer_expression "*(code *)(iVar41 + 9000)" * (cast_expression "(code *)(iVar41 + 9000)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 9000)" ( (binary_expression "iVar41 + 9000" identifier + number_literal) )))) )) (argument_list "(iVar25,iVar25 + 4)" ( identifier , (binary_expression "iVar25 + 4" identifier + number_literal) )))) ;) (labeled_statement "LAB_00107a7c:\n      uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (if_statement "if (uVar3 == 0x85) {\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }" if (parenthesized_expression "(uVar3 == 0x85)" ( (binary_expression "uVar3 == 0x85" identifier == number_literal) )) (compound_statement "{\n        puStack_104 = (uint *)0x1;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107aa0;\n      }" { (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puStack_5c != (undefined4 *)0x0) goto LAB_0010b0c0;" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010b0c0;" goto statement_identifier ;)) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107aa0;" goto statement_identifier ;) })) (labeled_statement "LAB_00107914:\n      if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }" statement_identifier : (if_statement "if (2 < uVar3 - 0x8b) {\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }" if (parenthesized_expression "(2 < uVar3 - 0x8b)" ( (binary_expression "2 < uVar3 - 0x8b" number_literal < (binary_expression "uVar3 - 0x8b" identifier - number_literal)) )) (compound_statement "{\n        puStack_11c = (uint *)0x0;\n        puStack_104 = (uint *)0x1;\n        goto LAB_00107280;\n      }" { (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107280;" goto statement_identifier ;) }))) (expression_statement "puStack_104 = (uint *)0x1;" (assignment_expression "puStack_104 = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00107930:\n      uVar46 = uStack_140;" statement_identifier : (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;)) (if_statement "if (puStack_5c == (undefined4 *)0x0) {\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00107184:\n        uStack_140 = uVar46;\n        if (uVar3 == 100) goto LAB_00109418;\n        puStack_11c = (uint *)0x0;\n        goto LAB_00107428;\n      }" { (labeled_statement "LAB_00107184:\n        uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (if_statement "if (uVar3 == 100) goto LAB_00109418;" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (goto_statement "goto LAB_00109418;" goto statement_identifier ;)) (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107428;" goto statement_identifier ;) })) (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00107288;" goto statement_identifier ;) })) (if_statement "if (puStack_5c != (undefined4 *)0x0) {\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;\n      goto LAB_001071a8;\n    }" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      p_Var29 = (_Hash_node_base *)puStack_5c[0x11];\n      if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;\n      goto LAB_001071a8;\n    }" { (expression_statement "p_Var29 = (_Hash_node_base *)puStack_5c[0x11];" (assignment_expression "p_Var29 = (_Hash_node_base *)puStack_5c[0x11]" identifier = (cast_expression "(_Hash_node_base *)puStack_5c[0x11]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puStack_5c[0x11]" identifier [ number_literal ]))) ;) (if_statement "if (p_Var29 == (_Hash_node_base *)0xffffffff) goto LAB_00107230;" if (parenthesized_expression "(p_Var29 == (_Hash_node_base *)0xffffffff)" ( (binary_expression "p_Var29 == (_Hash_node_base *)0xffffffff" identifier == (cast_expression "(_Hash_node_base *)0xffffffff" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107230;" goto statement_identifier ;)) (goto_statement "goto LAB_001071a8;" goto statement_identifier ;) })) (if_statement "if (uVar3 != 100) goto LAB_00107238;" if (parenthesized_expression "(uVar3 != 100)" ( (binary_expression "uVar3 != 100" identifier != number_literal) )) (goto_statement "goto LAB_00107238;" goto statement_identifier ;)) (labeled_statement "LAB_001093fc:\n    iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" statement_identifier : (expression_statement "iVar25 = *(int *)(pcVar44 + 0x3ba5e0);" (assignment_expression "iVar25 = *(int *)(pcVar44 + 0x3ba5e0)" identifier = (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) ))))) ;)) (if_statement "if (puVar4 == (uint *)0x0) {\n      if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }\n      goto LAB_00107288;\n    }" if (parenthesized_expression "(puVar4 == (uint *)0x0)" ( (binary_expression "puVar4 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }\n      goto LAB_00107288;\n    }" { (if_statement "if (puStack_5c == (undefined4 *)0x0) {\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;\n        goto LAB_00109418;\n      }" { (if_statement "if (puStack_11c != (uint *)0x0) goto LAB_00107ac8;" if (parenthesized_expression "(puStack_11c != (uint *)0x0)" ( (binary_expression "puStack_11c != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107ac8;" goto statement_identifier ;)) (goto_statement "goto LAB_00109418;" goto statement_identifier ;) })) (goto_statement "goto LAB_00107288;" goto statement_identifier ;) })) (labeled_statement "LAB_00107260:\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);" statement_identifier : (expression_statement "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0);" (assignment_expression "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bef94))(iVar25 + 0x3ba0)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bef94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bef94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) )) (argument_list "(iVar25 + 0x3ba0)" ( (binary_expression "iVar25 + 0x3ba0" identifier + number_literal) )))) ;)) (expression_statement "(**(code **)(pcVar44 + 0x3bad90))(uVar8);" (call_expression "(**(code **)(pcVar44 + 0x3bad90))(uVar8)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad90))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad90)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad90)" * (cast_expression "(code **)(pcVar44 + 0x3bad90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad90)" ( (binary_expression "pcVar44 + 0x3bad90" identifier + number_literal) ))))) )) (argument_list "(uVar8)" ( identifier ))) ;) }))) (labeled_statement "LAB_00107280:\n  uVar46 = uStack_140;" statement_identifier : (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;)) (if_statement "if (puStack_5c == (undefined4 *)0x0) goto LAB_00107420;" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107420;" goto statement_identifier ;)) (labeled_statement "LAB_00107288:\n  do {\n    pcVar40 = *(code **)(pcVar44 + 0x3bb020);\nLAB_0010728c:\n    iVar25 = (*pcVar40)(puStack_5c);\n    uVar46 = uStack_140;\n    if (iVar25 == 0) {\nLAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }\n      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;\n      uStack_130 = uVar38;\nLAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    }\n    else {\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }\nLAB_00107380:\n    puVar4 = &uStack_138;\n    uVar37 = 0;\n    uStack_10c = 0;\n    puStack_e4 = puVar4;\n    uVar3 = 0;\n    iStack_e0 = 0x8000 - uStack_110;\n    iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240;\n    uVar42 = uStack_120;\n    uVar38 = uStack_130;\nLAB_001073b0:\n    if (uVar42 == 0) goto LAB_0010748c;\n    if (*(char *)(puVar20 + 2) != '\0') {\n      uStack_124 = 0;\n      uStack_118 = *puVar20;\n      uStack_114 = puVar20[1];\n    }\n    if (uVar3 == 2) goto LAB_0010ade0;\n    uVar38 = (uint)(puVar4[1] != 0);\n    *(bool *)(puVar20 + 2) = puVar4[1] != 0;\n    if (uVar3 == 1) {\n      if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }\n    }\nLAB_001073f4:\n    if (uVar42 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0);\n    (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42);\n    uVar3 = uVar3 + 1;\n    puVar4 = puVar4 + 1;\n    if (uVar3 != 3) break;\nLAB_0010748c:\n    if ((uStack_120 == 4) || (uStack_120 == 100)) {\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }\n    else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }\n    if (uVar37 != 1) {\n      if (uVar37 == 0) goto LAB_001075a8;\n      if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }\n      pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;\nLAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);\n      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);\n      goto LAB_001075a8;\n    }\n    if (puStack_5c == (undefined4 *)0x0) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));\nLAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);\n      return 1;\n    }\n    uVar3 = puStack_5c[10] & 0xe000;\n    if (uVar3 == 0) {\n      if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }\n    }\n    else {\n      bVar10 = uVar3 != 0x8000;\n    }\n    if ((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);\n      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);\n      goto LAB_001078f4;\n    }\n    uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18);\n    (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n    if ((puStack_5c[10] & 0xe000) == 0) {\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));\nLAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }\n      goto LAB_001075a8;\n    }\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874);\n    uVar37 = 1;\n    uVar46 = uStack_140;\nLAB_0010afdc:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640);\n    uVar46 = uStack_140;\nLAB_0010b000:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624);\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n    puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010b0c0:\n    puStack_11c = (uint *)0x0;\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar40 = *(code **)(pcVar44 + 0x3bb020);\nLAB_0010728c:\n    iVar25 = (*pcVar40)(puStack_5c);\n    uVar46 = uStack_140;\n    if (iVar25 == 0) {\nLAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }\n      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;\n      uStack_130 = uVar38;\nLAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    }\n    else {\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }\nLAB_00107380:\n    puVar4 = &uStack_138;\n    uVar37 = 0;\n    uStack_10c = 0;\n    puStack_e4 = puVar4;\n    uVar3 = 0;\n    iStack_e0 = 0x8000 - uStack_110;\n    iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240;\n    uVar42 = uStack_120;\n    uVar38 = uStack_130;\nLAB_001073b0:\n    if (uVar42 == 0) goto LAB_0010748c;\n    if (*(char *)(puVar20 + 2) != '\0') {\n      uStack_124 = 0;\n      uStack_118 = *puVar20;\n      uStack_114 = puVar20[1];\n    }\n    if (uVar3 == 2) goto LAB_0010ade0;\n    uVar38 = (uint)(puVar4[1] != 0);\n    *(bool *)(puVar20 + 2) = puVar4[1] != 0;\n    if (uVar3 == 1) {\n      if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }\n    }\nLAB_001073f4:\n    if (uVar42 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0);\n    (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42);\n    uVar3 = uVar3 + 1;\n    puVar4 = puVar4 + 1;\n    if (uVar3 != 3) break;\nLAB_0010748c:\n    if ((uStack_120 == 4) || (uStack_120 == 100)) {\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }\n    else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }\n    if (uVar37 != 1) {\n      if (uVar37 == 0) goto LAB_001075a8;\n      if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }\n      pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;\nLAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);\n      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);\n      goto LAB_001075a8;\n    }\n    if (puStack_5c == (undefined4 *)0x0) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));\nLAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);\n      return 1;\n    }\n    uVar3 = puStack_5c[10] & 0xe000;\n    if (uVar3 == 0) {\n      if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }\n    }\n    else {\n      bVar10 = uVar3 != 0x8000;\n    }\n    if ((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);\n      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);\n      goto LAB_001078f4;\n    }\n    uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18);\n    (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n    if ((puStack_5c[10] & 0xe000) == 0) {\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));\nLAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }\n      goto LAB_001075a8;\n    }\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874);\n    uVar37 = 1;\n    uVar46 = uStack_140;\nLAB_0010afdc:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640);\n    uVar46 = uStack_140;\nLAB_0010b000:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624);\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n    puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010b0c0:\n    puStack_11c = (uint *)0x0;\n  } while( true );" do (compound_statement "{\n    pcVar40 = *(code **)(pcVar44 + 0x3bb020);\nLAB_0010728c:\n    iVar25 = (*pcVar40)(puStack_5c);\n    uVar46 = uStack_140;\n    if (iVar25 == 0) {\nLAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }\n      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;\n      uStack_130 = uVar38;\nLAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    }\n    else {\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }\nLAB_00107380:\n    puVar4 = &uStack_138;\n    uVar37 = 0;\n    uStack_10c = 0;\n    puStack_e4 = puVar4;\n    uVar3 = 0;\n    iStack_e0 = 0x8000 - uStack_110;\n    iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240;\n    uVar42 = uStack_120;\n    uVar38 = uStack_130;\nLAB_001073b0:\n    if (uVar42 == 0) goto LAB_0010748c;\n    if (*(char *)(puVar20 + 2) != '\0') {\n      uStack_124 = 0;\n      uStack_118 = *puVar20;\n      uStack_114 = puVar20[1];\n    }\n    if (uVar3 == 2) goto LAB_0010ade0;\n    uVar38 = (uint)(puVar4[1] != 0);\n    *(bool *)(puVar20 + 2) = puVar4[1] != 0;\n    if (uVar3 == 1) {\n      if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }\n    }\nLAB_001073f4:\n    if (uVar42 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }\n    uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0);\n    (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42);\n    uVar3 = uVar3 + 1;\n    puVar4 = puVar4 + 1;\n    if (uVar3 != 3) break;\nLAB_0010748c:\n    if ((uStack_120 == 4) || (uStack_120 == 100)) {\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }\n    else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }\n    if (uVar37 != 1) {\n      if (uVar37 == 0) goto LAB_001075a8;\n      if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }\n      pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;\nLAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);\n      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);\n      goto LAB_001075a8;\n    }\n    if (puStack_5c == (undefined4 *)0x0) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));\nLAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);\n      return 1;\n    }\n    uVar3 = puStack_5c[10] & 0xe000;\n    if (uVar3 == 0) {\n      if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }\n    }\n    else {\n      bVar10 = uVar3 != 0x8000;\n    }\n    if ((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);\n      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);\n      goto LAB_001078f4;\n    }\n    uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18);\n    (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n    if ((puStack_5c[10] & 0xe000) == 0) {\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));\nLAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }\n      goto LAB_001075a8;\n    }\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874);\n    uVar37 = 1;\n    uVar46 = uStack_140;\nLAB_0010afdc:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640);\n    uVar46 = uStack_140;\nLAB_0010b000:\n    puStack_128 = &uStack_150;\n    uStack_140 = uVar46;\n    (**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624);\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n    (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n    puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010b0c0:\n    puStack_11c = (uint *)0x0;\n  }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3bb020);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3bb020)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3bb020)" * (cast_expression "(code **)(pcVar44 + 0x3bb020)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb020)" ( (binary_expression "pcVar44 + 0x3bb020" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0010728c:\n    iVar25 = (*pcVar40)(puStack_5c);" statement_identifier : (expression_statement "iVar25 = (*pcVar40)(puStack_5c);" (assignment_expression "iVar25 = (*pcVar40)(puStack_5c)" identifier = (call_expression "(*pcVar40)(puStack_5c)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(puStack_5c)" ( identifier )))) ;)) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (if_statement "if (iVar25 == 0) {\nLAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }\n      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;\n      uStack_130 = uVar38;\nLAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    }\n    else {\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }\n      uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;\n      uStack_130 = uVar38;\nLAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;\n    }" { (labeled_statement "LAB_00107420:\n      if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }" statement_identifier : (if_statement "if (uVar3 == 100) {\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }\n      else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (compound_statement "{\n        if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;\nLAB_00107ac0:\n        uStack_140 = uVar46;\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;\nLAB_00107ac8:\n        puStack_11c = (uint *)0x0;\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x92) goto LAB_0010921c;\nLAB_00107ae4:\n        iStack_f0 = 1;\nLAB_001072f0:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        uStack_138 = uVar3;\n        if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }\n      }" { (if_statement "if (puStack_11c == (uint *)0x0) goto LAB_00107aa8;" if (parenthesized_expression "(puStack_11c == (uint *)0x0)" ( (binary_expression "puStack_11c == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107aa8;" goto statement_identifier ;)) (labeled_statement "LAB_00107ac0:\n        uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (if_statement "if (puStack_5c != (undefined4 *)0x0) goto LAB_0010729c;" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0010729c;" goto statement_identifier ;)) (labeled_statement "LAB_00107ac8:\n        puStack_11c = (uint *)0x0;" statement_identifier : (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uStack_124 = (uint)(iVar28 == 9);" (assignment_expression "uStack_124 = (uint)(iVar28 == 9)" identifier = (call_expression "(uint)(iVar28 == 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )))) ;) (if_statement "if (uVar3 == 0x92) goto LAB_0010921c;" if (parenthesized_expression "(uVar3 == 0x92)" ( (binary_expression "uVar3 == 0x92" identifier == number_literal) )) (goto_statement "goto LAB_0010921c;" goto statement_identifier ;)) (labeled_statement "LAB_00107ae4:\n        iStack_f0 = 1;" statement_identifier : (expression_statement "iStack_f0 = 1;" (assignment_expression "iStack_f0 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_001072f0:\n        uStack_134 = uVar37;" statement_identifier : (expression_statement "uStack_134 = uVar37;" (assignment_expression "uStack_134 = uVar37" identifier = identifier) ;)) (expression_statement "uStack_100 = uVar3 - 100;" (assignment_expression "uStack_100 = uVar3 - 100" identifier = (binary_expression "uVar3 - 100" identifier - number_literal)) ;) (expression_statement "uStack_130 = uVar38;" (assignment_expression "uStack_130 = uVar38" identifier = identifier) ;) (expression_statement "uStack_138 = uVar3;" (assignment_expression "uStack_138 = uVar3" identifier = identifier) ;) (if_statement "if (0xc < uVar3 - 100) {\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }" if (parenthesized_expression "(0xc < uVar3 - 100)" ( (binary_expression "0xc < uVar3 - 100" number_literal < (binary_expression "uVar3 - 100" identifier - number_literal)) )) (compound_statement "{\n          uVar3 = uVar3 + 0x7b & 0xff;\n          if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }\n          goto LAB_00107380;\n        }" { (expression_statement "uVar3 = uVar3 + 0x7b & 0xff;" (assignment_expression "uVar3 = uVar3 + 0x7b & 0xff" identifier = (binary_expression "uVar3 + 0x7b & 0xff" (binary_expression "uVar3 + 0x7b" identifier + number_literal) & number_literal)) ;) (if_statement "if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }" if (parenthesized_expression "(uVar3 < 0x29)" ( (binary_expression "uVar3 < 0x29" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n            uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();\n            return uVar3;\n          }" { comment comment (expression_statement "uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))();" (assignment_expression "uVar3 = (*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))()" identifier = (call_expression "(*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))()" (parenthesized_expression "(*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4))" ( (pointer_expression "*(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4)" * (parenthesized_expression "(pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4)" ( (binary_expression "pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4) + 0x3c25a4" (binary_expression "pcVar44 +\n                      *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4)" * (cast_expression "(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6ce0 + uVar3 * 4" (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6ce0" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar3 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar3;" return identifier ;) })) (goto_statement "goto LAB_00107380;" goto statement_identifier ;) })) (expression_statement "uVar2 = (ushort)this->local_gotno_;" (assignment_expression "uVar2 = (ushort)this->local_gotno_" identifier = (cast_expression "(ushort)this->local_gotno_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "this->local_gotno_" identifier -> field_identifier))) ;) (expression_statement "uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);" (assignment_expression "uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)" identifier = (binary_expression "(*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)" (binary_expression "(*(ushort *)&this->local_gotno_ & 0xff) << 8" (parenthesized_expression "(*(ushort *)&this->local_gotno_ & 0xff)" ( (binary_expression "*(ushort *)&this->local_gotno_ & 0xff" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)&this->local_gotno_ >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)&this->local_gotno_ >> 8)" ( (binary_expression "*(ushort *)&this->local_gotno_ >> 8" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) >> number_literal) ))))) ;) (expression_statement "uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);" (assignment_expression "uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8)" identifier = (binary_expression "(uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8)" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (call_expression "(uint)(uVar2 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) ))))) ;) (if_statement "if (uVar3 == 100) {\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }" if (parenthesized_expression "(uVar3 == 100)" ( (binary_expression "uVar3 == 100" identifier == number_literal) )) (compound_statement "{\n          uStack_100 = 0;\n          uVar42 = uVar37 << 0x10 | uVar42;\n          goto LAB_0010736c;\n        }" { (expression_statement "uStack_100 = 0;" (assignment_expression "uStack_100 = 0" identifier = number_literal) ;) (expression_statement "uVar42 = uVar37 << 0x10 | uVar42;" (assignment_expression "uVar42 = uVar37 << 0x10 | uVar42" identifier = (binary_expression "uVar37 << 0x10 | uVar42" (binary_expression "uVar37 << 0x10" identifier << number_literal) | identifier)) ;) (goto_statement "goto LAB_0010736c;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }" else (compound_statement "{\nLAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }\n        if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }\n        if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;\n        uStack_124 = (uint)(iVar28 == 9);\n        uStack_140 = uVar46;\n        if (uVar3 == 0x14) goto LAB_00107468;\n        if (uVar3 != 0x92) goto LAB_00107ae4;\nLAB_0010921c:\n        uStack_134 = uVar37;\n        uStack_100 = uVar3 - 100;\n        uStack_130 = uVar38;\n        iStack_f0 = 1;\n        uStack_138 = uVar3;\n        if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;\n        uVar3 = uVar3 + 0x7b & 0xff;\n        uVar2 = (ushort)this->local_gotno_;\n        uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);\n        uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }\n      }" { (labeled_statement "LAB_00107428:\n        if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }" statement_identifier : (if_statement "if (uVar3 == 0x85) {\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }" if (parenthesized_expression "(uVar3 == 0x85)" ( (binary_expression "uVar3 == 0x85" identifier == number_literal) )) (compound_statement "{\nLAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;\nLAB_00107aa8:\n          uStack_140 = uVar46;\n          if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }\nLAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);\n          puStack_11c = (uint *)0x1;\n          iStack_f0 = 1;\n          goto LAB_001072f0;\n        }" { (labeled_statement "LAB_00107aa0:\n          if (puVar4 != (uint *)0x0) goto LAB_00107ac0;" statement_identifier : (if_statement "if (puVar4 != (uint *)0x0) goto LAB_00107ac0;" if (parenthesized_expression "(puVar4 != (uint *)0x0)" ( (binary_expression "puVar4 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107ac0;" goto statement_identifier ;))) (labeled_statement "LAB_00107aa8:\n          uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (if_statement "if (puStack_5c != (undefined4 *)0x0) {\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puStack_11c = (uint *)0x1;\n            goto LAB_001072a0;\n          }" { (expression_statement "puStack_11c = (uint *)0x1;" (assignment_expression "puStack_11c = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_001072a0;" goto statement_identifier ;) })) (labeled_statement "LAB_00109418:\n          uStack_124 = (uint)(iVar28 == 9);" statement_identifier : (expression_statement "uStack_124 = (uint)(iVar28 == 9);" (assignment_expression "uStack_124 = (uint)(iVar28 == 9)" identifier = (call_expression "(uint)(iVar28 == 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )))) ;)) (expression_statement "puStack_11c = (uint *)0x1;" (assignment_expression "puStack_11c = (uint *)0x1" identifier = (cast_expression "(uint *)0x1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_f0 = 1;" (assignment_expression "iStack_f0 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_001072f0;" goto statement_identifier ;) }))) (if_statement "if ((uVar3 == 4) || (uVar3 == 0x25)) {\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }\n        else {\n          puStack_11c = (uint *)0x0;\n        }" if (parenthesized_expression "((uVar3 == 4) || (uVar3 == 0x25))" ( (binary_expression "(uVar3 == 4) || (uVar3 == 0x25)" (parenthesized_expression "(uVar3 == 4)" ( (binary_expression "uVar3 == 4" identifier == number_literal) )) || (parenthesized_expression "(uVar3 == 0x25)" ( (binary_expression "uVar3 == 0x25" identifier == number_literal) ))) )) (compound_statement "{\n          if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }\n        }" { (if_statement "if (puStack_11c == (uint *)0x0) {\n            puStack_11c = puVar4;\n          }" if (parenthesized_expression "(puStack_11c == (uint *)0x0)" ( (binary_expression "puStack_11c == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puStack_11c = puVar4;\n          }" { (expression_statement "puStack_11c = puVar4;" (assignment_expression "puStack_11c = puVar4" identifier = identifier) ;) })) }) (else_clause "else {\n          puStack_11c = (uint *)0x0;\n        }" else (compound_statement "{\n          puStack_11c = (uint *)0x0;\n        }" { (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (puStack_5c != (undefined4 *)0x0) goto LAB_001072a0;" if (parenthesized_expression "(puStack_5c != (undefined4 *)0x0)" ( (binary_expression "puStack_5c != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001072a0;" goto statement_identifier ;)) (expression_statement "uStack_124 = (uint)(iVar28 == 9);" (assignment_expression "uStack_124 = (uint)(iVar28 == 9)" identifier = (call_expression "(uint)(iVar28 == 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )))) ;) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (if_statement "if (uVar3 == 0x14) goto LAB_00107468;" if (parenthesized_expression "(uVar3 == 0x14)" ( (binary_expression "uVar3 == 0x14" identifier == number_literal) )) (goto_statement "goto LAB_00107468;" goto statement_identifier ;)) (if_statement "if (uVar3 != 0x92) goto LAB_00107ae4;" if (parenthesized_expression "(uVar3 != 0x92)" ( (binary_expression "uVar3 != 0x92" identifier != number_literal) )) (goto_statement "goto LAB_00107ae4;" goto statement_identifier ;)) (labeled_statement "LAB_0010921c:\n        uStack_134 = uVar37;" statement_identifier : (expression_statement "uStack_134 = uVar37;" (assignment_expression "uStack_134 = uVar37" identifier = identifier) ;)) (expression_statement "uStack_100 = uVar3 - 100;" (assignment_expression "uStack_100 = uVar3 - 100" identifier = (binary_expression "uVar3 - 100" identifier - number_literal)) ;) (expression_statement "uStack_130 = uVar38;" (assignment_expression "uStack_130 = uVar38" identifier = identifier) ;) (expression_statement "iStack_f0 = 1;" (assignment_expression "iStack_f0 = 1" identifier = number_literal) ;) (expression_statement "uStack_138 = uVar3;" (assignment_expression "uStack_138 = uVar3" identifier = identifier) ;) (if_statement "if ((uVar3 == 0x8b) || (uVar3 == 0x8c)) goto LAB_00107380;" if (parenthesized_expression "((uVar3 == 0x8b) || (uVar3 == 0x8c))" ( (binary_expression "(uVar3 == 0x8b) || (uVar3 == 0x8c)" (parenthesized_expression "(uVar3 == 0x8b)" ( (binary_expression "uVar3 == 0x8b" identifier == number_literal) )) || (parenthesized_expression "(uVar3 == 0x8c)" ( (binary_expression "uVar3 == 0x8c" identifier == number_literal) ))) )) (goto_statement "goto LAB_00107380;" goto statement_identifier ;)) (expression_statement "uVar3 = uVar3 + 0x7b & 0xff;" (assignment_expression "uVar3 = uVar3 + 0x7b & 0xff" identifier = (binary_expression "uVar3 + 0x7b & 0xff" (binary_expression "uVar3 + 0x7b" identifier + number_literal) & number_literal)) ;) (expression_statement "uVar2 = (ushort)this->local_gotno_;" (assignment_expression "uVar2 = (ushort)this->local_gotno_" identifier = (cast_expression "(ushort)this->local_gotno_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "this->local_gotno_" identifier -> field_identifier))) ;) (expression_statement "uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8);" (assignment_expression "uVar37 = (*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)" identifier = (binary_expression "(*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)" (binary_expression "(*(ushort *)&this->local_gotno_ & 0xff) << 8" (parenthesized_expression "(*(ushort *)&this->local_gotno_ & 0xff)" ( (binary_expression "*(ushort *)&this->local_gotno_ & 0xff" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)&this->local_gotno_ >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)&this->local_gotno_ >> 8)" ( (binary_expression "*(ushort *)&this->local_gotno_ >> 8" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) >> number_literal) ))))) ;) (expression_statement "uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);" (assignment_expression "uVar42 = (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8)" identifier = (binary_expression "(uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8)" (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal) | (call_expression "(uint)(uVar2 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) ))))) ;) (if_statement "if (uVar3 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }" if (parenthesized_expression "(uVar3 < 0x29)" ( (binary_expression "uVar3 < 0x29" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();\n          return uVar3;\n        }" { comment comment (expression_statement "uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))();" (assignment_expression "uVar3 = (*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))()" identifier = (call_expression "(*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))()" (parenthesized_expression "(*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4))" ( (pointer_expression "*(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4)" * (parenthesized_expression "(pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4)" ( (binary_expression "pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4) + 0x3c25a4" (binary_expression "pcVar44 +\n                    *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4)" * (cast_expression "(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6d84 + uVar3 * 4" (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6d84" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar3 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar3;" return identifier ;) })) })))) (expression_statement "uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f;" (assignment_expression "uVar42 = (uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f" identifier = (binary_expression "(uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0 | uVar42 & 0x1f" (binary_expression "(uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb |\n               uVar37 & 0x7e0" (binary_expression "(uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb | (uVar37 & 0x1f) << 0xb" (binary_expression "(uVar37 & 0xf800) << 0x10 | (uVar42 & 0xffe0) << 0xb" (binary_expression "(uVar37 & 0xf800) << 0x10" (parenthesized_expression "(uVar37 & 0xf800)" ( (binary_expression "uVar37 & 0xf800" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar42 & 0xffe0) << 0xb" (parenthesized_expression "(uVar42 & 0xffe0)" ( (binary_expression "uVar42 & 0xffe0" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar37 & 0x1f) << 0xb" (parenthesized_expression "(uVar37 & 0x1f)" ( (binary_expression "uVar37 & 0x1f" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar37 & 0x7e0" identifier & number_literal)) | (binary_expression "uVar42 & 0x1f" identifier & number_literal))) ;) (expression_statement "uStack_130 = uVar38;" (assignment_expression "uStack_130 = uVar38" identifier = identifier) ;) (labeled_statement "LAB_0010736c:\n      this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;" statement_identifier : (expression_statement "this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000;" (assignment_expression "this->local_gotno_ =\n           (((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (field_expression "this->local_gotno_" identifier -> field_identifier) = (binary_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10) +\n           ((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10)" ( (binary_expression "(uVar42 >> 0x10) << 0x18 | (uVar42 >> 0x18) << 0x10" (binary_expression "(uVar42 >> 0x10) << 0x18" (parenthesized_expression "(uVar42 >> 0x10)" ( (binary_expression "uVar42 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar42 >> 0x18) << 0x10" (parenthesized_expression "(uVar42 >> 0x18)" ( (binary_expression "uVar42 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff)" ( (binary_expression "(uVar42 & 0xff) << 8 | uVar42 >> 8 & 0xff" (binary_expression "(uVar42 & 0xff) << 8" (parenthesized_expression "(uVar42 & 0xff)" ( (binary_expression "uVar42 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar42 >> 8 & 0xff" (binary_expression "uVar42 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;)) }) (else_clause "else {\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }" else (compound_statement "{\nLAB_0010729c:\n      puStack_11c = (uint *)0x0;\nLAB_001072a0:\n      uStack_140 = uVar46;\n      if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }\n      iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;\n      uStack_124 = (uint)(iVar28 == 9);\n      if (uVar3 != 0x14) goto LAB_001072e4;\nLAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }\n    }" { (labeled_statement "LAB_0010729c:\n      puStack_11c = (uint *)0x0;" statement_identifier : (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (labeled_statement "LAB_001072a0:\n      uStack_140 = uVar46;" statement_identifier : (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;)) (if_statement "if (*(char *)(puStack_5c + 0x17) == '\0') {\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }" if (parenthesized_expression "(*(char *)(puStack_5c + 0x17) == '\0')" ( (binary_expression "*(char *)(puStack_5c + 0x17) == '\0'" (pointer_expression "*(char *)(puStack_5c + 0x17)" * (cast_expression "(char *)(puStack_5c + 0x17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_5c + 0x17)" ( (binary_expression "puStack_5c + 0x17" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);\n        uStack_124 = (uint)(iVar28 == 9);\n        if (uVar3 == 0x14) goto LAB_0010775c;\nLAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;\n        if (iStack_f0 != 0) goto LAB_0010921c;\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uVar2 = (ushort)this->local_gotno_;\n        uStack_120 = 0x91;\n        uStack_138 = 0x91;\n        uStack_100 = 0x2d;\n        uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);\n        goto LAB_0010736c;\n      }" { (expression_statement "iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0);" (assignment_expression "iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0)" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))\n                              (puStack_5c,puStack_5c[5] != 0,0)" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x5e4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x5e4" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_5c,puStack_5c[5] != 0,0)" ( identifier , (binary_expression "puStack_5c[5] != 0" (subscript_expression "puStack_5c[5]" identifier [ number_literal ]) != number_literal) , number_literal )))) ;) (expression_statement "uStack_124 = (uint)(iVar28 == 9);" (assignment_expression "uStack_124 = (uint)(iVar28 == 9)" identifier = (call_expression "(uint)(iVar28 == 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )))) ;) (if_statement "if (uVar3 == 0x14) goto LAB_0010775c;" if (parenthesized_expression "(uVar3 == 0x14)" ( (binary_expression "uVar3 == 0x14" identifier == number_literal) )) (goto_statement "goto LAB_0010775c;" goto statement_identifier ;)) (labeled_statement "LAB_001072e4:\n        if (uVar3 != 0x92) goto LAB_001072f0;" statement_identifier : (if_statement "if (uVar3 != 0x92) goto LAB_001072f0;" if (parenthesized_expression "(uVar3 != 0x92)" ( (binary_expression "uVar3 != 0x92" identifier != number_literal) )) (goto_statement "goto LAB_001072f0;" goto statement_identifier ;))) (if_statement "if (iStack_f0 != 0) goto LAB_0010921c;" if (parenthesized_expression "(iStack_f0 != 0)" ( (binary_expression "iStack_f0 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0010921c;" goto statement_identifier ;)) (expression_statement "uStack_134 = uVar37;" (assignment_expression "uStack_134 = uVar37" identifier = identifier) ;) (expression_statement "uStack_130 = uVar38;" (assignment_expression "uStack_130 = uVar38" identifier = identifier) ;) (expression_statement "uVar2 = (ushort)this->local_gotno_;" (assignment_expression "uVar2 = (ushort)this->local_gotno_" identifier = (cast_expression "(ushort)this->local_gotno_" ( (type_descriptor "ushort" type_identifier) ) (field_expression "this->local_gotno_" identifier -> field_identifier))) ;) (expression_statement "uStack_120 = 0x91;" (assignment_expression "uStack_120 = 0x91" identifier = number_literal) ;) (expression_statement "uStack_138 = 0x91;" (assignment_expression "uStack_138 = 0x91" identifier = number_literal) ;) (expression_statement "uStack_100 = 0x2d;" (assignment_expression "uStack_100 = 0x2d" identifier = number_literal) ;) (expression_statement "uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8);" (assignment_expression "uVar42 = ((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8)" identifier = (binary_expression "((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8 | (uint)(uVar2 >> 8)" (binary_expression "((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10 |\n                 (uVar2 & 0xff) << 8" (binary_expression "((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)) << 0x10" (parenthesized_expression "((*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8))" ( (binary_expression "(*(ushort *)&this->local_gotno_ & 0xff) << 8 |\n                 (uint)(*(ushort *)&this->local_gotno_ >> 8)" (binary_expression "(*(ushort *)&this->local_gotno_ & 0xff) << 8" (parenthesized_expression "(*(ushort *)&this->local_gotno_ & 0xff)" ( (binary_expression "*(ushort *)&this->local_gotno_ & 0xff" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) & number_literal) )) << number_literal) | (call_expression "(uint)(*(ushort *)&this->local_gotno_ >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(ushort *)&this->local_gotno_ >> 8)" ( (binary_expression "*(ushort *)&this->local_gotno_ >> 8" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) >> number_literal) )))) )) << number_literal) | (binary_expression "(uVar2 & 0xff) << 8" (parenthesized_expression "(uVar2 & 0xff)" ( (binary_expression "uVar2 & 0xff" identifier & number_literal) )) << number_literal)) | (call_expression "(uint)(uVar2 >> 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) ))))) ;) (goto_statement "goto LAB_0010736c;" goto statement_identifier ;) })) (expression_statement "iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)\n      ;" (assignment_expression "iStack_f0 = (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)" identifier = (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))(puStack_5c,puStack_5c[5] != 0,1)" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5e4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x5e4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x5e4" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(puStack_5c,puStack_5c[5] != 0,1)" ( identifier , (binary_expression "puStack_5c[5] != 0" (subscript_expression "puStack_5c[5]" identifier [ number_literal ]) != number_literal) , number_literal )))) ;) (expression_statement "uStack_124 = (uint)(iVar28 == 9);" (assignment_expression "uStack_124 = (uint)(iVar28 == 9)" identifier = (call_expression "(uint)(iVar28 == 9)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar28 == 9)" ( (binary_expression "iVar28 == 9" identifier == number_literal) )))) ;) (if_statement "if (uVar3 != 0x14) goto LAB_001072e4;" if (parenthesized_expression "(uVar3 != 0x14)" ( (binary_expression "uVar3 != 0x14" identifier != number_literal) )) (goto_statement "goto LAB_001072e4;" goto statement_identifier ;)) (labeled_statement "LAB_0010775c:\n      if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }" statement_identifier : (if_statement "if (iStack_f0 == 0) {\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }\n      else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }" if (parenthesized_expression "(iStack_f0 == 0)" ( (binary_expression "iStack_f0 == 0" identifier == number_literal) )) (compound_statement "{\n        uStack_134 = uVar37;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffaf;\n        uStack_138 = 0x13;\n        uStack_120 = 0x13;\n      }" { (expression_statement "uStack_134 = uVar37;" (assignment_expression "uStack_134 = uVar37" identifier = identifier) ;) (expression_statement "uStack_130 = uVar38;" (assignment_expression "uStack_130 = uVar38" identifier = identifier) ;) (expression_statement "uStack_100 = 0xffffffaf;" (assignment_expression "uStack_100 = 0xffffffaf" identifier = number_literal) ;) (expression_statement "uStack_138 = 0x13;" (assignment_expression "uStack_138 = 0x13" identifier = number_literal) ;) (expression_statement "uStack_120 = 0x13;" (assignment_expression "uStack_120 = 0x13" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }" else (compound_statement "{\nLAB_00107468:\n        uStack_134 = uVar37;\n        iStack_f0 = 1;\n        uStack_130 = uVar38;\n        uStack_100 = 0xffffffb0;\n        uStack_138 = uVar3;\n      }" { (labeled_statement "LAB_00107468:\n        uStack_134 = uVar37;" statement_identifier : (expression_statement "uStack_134 = uVar37;" (assignment_expression "uStack_134 = uVar37" identifier = identifier) ;)) (expression_statement "iStack_f0 = 1;" (assignment_expression "iStack_f0 = 1" identifier = number_literal) ;) (expression_statement "uStack_130 = uVar38;" (assignment_expression "uStack_130 = uVar38" identifier = identifier) ;) (expression_statement "uStack_100 = 0xffffffb0;" (assignment_expression "uStack_100 = 0xffffffb0" identifier = number_literal) ;) (expression_statement "uStack_138 = uVar3;" (assignment_expression "uStack_138 = uVar3" identifier = identifier) ;) })))) }))) (labeled_statement "LAB_00107380:\n    puVar4 = &uStack_138;" statement_identifier : (expression_statement "puVar4 = &uStack_138;" (assignment_expression "puVar4 = &uStack_138" identifier = (pointer_expression "&uStack_138" & identifier)) ;)) (expression_statement "uVar37 = 0;" (assignment_expression "uVar37 = 0" identifier = number_literal) ;) (expression_statement "uStack_10c = 0;" (assignment_expression "uStack_10c = 0" identifier = number_literal) ;) (expression_statement "puStack_e4 = puVar4;" (assignment_expression "puStack_e4 = puVar4" identifier = identifier) ;) (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "iStack_e0 = 0x8000 - uStack_110;" (assignment_expression "iStack_e0 = 0x8000 - uStack_110" identifier = (binary_expression "0x8000 - uStack_110" number_literal - identifier)) ;) (expression_statement "iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240;" (assignment_expression "iStack_e8 = *(int *)(pcVar44 + 0x3badb0) + -0x240" identifier = (binary_expression "*(int *)(pcVar44 + 0x3badb0) + -0x240" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "uVar42 = uStack_120;" (assignment_expression "uVar42 = uStack_120" identifier = identifier) ;) (expression_statement "uVar38 = uStack_130;" (assignment_expression "uVar38 = uStack_130" identifier = identifier) ;) (labeled_statement "LAB_001073b0:\n    if (uVar42 == 0) goto LAB_0010748c;" statement_identifier : (if_statement "if (uVar42 == 0) goto LAB_0010748c;" if (parenthesized_expression "(uVar42 == 0)" ( (binary_expression "uVar42 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0010748c;" goto statement_identifier ;))) (if_statement "if (*(char *)(puVar20 + 2) != '\0') {\n      uStack_124 = 0;\n      uStack_118 = *puVar20;\n      uStack_114 = puVar20[1];\n    }" if (parenthesized_expression "(*(char *)(puVar20 + 2) != '\0')" ( (binary_expression "*(char *)(puVar20 + 2) != '\0'" (pointer_expression "*(char *)(puVar20 + 2)" * (cast_expression "(char *)(puVar20 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 2)" ( (binary_expression "puVar20 + 2" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      uStack_124 = 0;\n      uStack_118 = *puVar20;\n      uStack_114 = puVar20[1];\n    }" { (expression_statement "uStack_124 = 0;" (assignment_expression "uStack_124 = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = *puVar20;" (assignment_expression "uStack_118 = *puVar20" identifier = (pointer_expression "*puVar20" * identifier)) ;) (expression_statement "uStack_114 = puVar20[1];" (assignment_expression "uStack_114 = puVar20[1]" identifier = (subscript_expression "puVar20[1]" identifier [ number_literal ])) ;) })) (if_statement "if (uVar3 == 2) goto LAB_0010ade0;" if (parenthesized_expression "(uVar3 == 2)" ( (binary_expression "uVar3 == 2" identifier == number_literal) )) (goto_statement "goto LAB_0010ade0;" goto statement_identifier ;)) (expression_statement "uVar38 = (uint)(puVar4[1] != 0);" (assignment_expression "uVar38 = (uint)(puVar4[1] != 0)" identifier = (call_expression "(uint)(puVar4[1] != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar4[1] != 0)" ( (binary_expression "puVar4[1] != 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) != number_literal) )))) ;) (expression_statement "*(bool *)(puVar20 + 2) = puVar4[1] != 0;" (assignment_expression "*(bool *)(puVar20 + 2) = puVar4[1] != 0" (pointer_expression "*(bool *)(puVar20 + 2)" * (cast_expression "(bool *)(puVar20 + 2)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 2)" ( (binary_expression "puVar20 + 2" identifier + number_literal) )))) = (binary_expression "puVar4[1] != 0" (subscript_expression "puVar4[1]" identifier [ number_literal ]) != number_literal)) ;) (if_statement "if (uVar3 == 1) {\n      if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }\n    }" if (parenthesized_expression "(uVar3 == 1)" ( (binary_expression "uVar3 == 1" identifier == number_literal) )) (compound_statement "{\n      if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }\n    }" { (if_statement "if (uStack_ec == 1) {\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }\n      else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" if (parenthesized_expression "(uStack_ec == 1)" ( (binary_expression "uStack_ec == 1" identifier == number_literal) )) (compound_statement "{\n        if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;\n        uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);\n      }" { (if_statement "if (p_Var11[6]._M_nxt == (_Hash_node_base *)0x0) goto LAB_00107aec;" if (parenthesized_expression "(p_Var11[6]._M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var11[6]._M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var11[6]._M_nxt" (subscript_expression "p_Var11[6]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00107aec;" goto statement_identifier ;)) (expression_statement "uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc);" (assignment_expression "uStack_140 = *(undefined8 *)(p_Var11[6]._M_nxt + 0xc)" identifier = (pointer_expression "*(undefined8 *)(p_Var11[6]._M_nxt + 0xc)" * (cast_expression "(undefined8 *)(p_Var11[6]._M_nxt + 0xc)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var11[6]._M_nxt + 0xc)" ( (binary_expression "p_Var11[6]._M_nxt + 0xc" (field_expression "p_Var11[6]._M_nxt" (subscript_expression "p_Var11[6]" identifier [ number_literal ]) . field_identifier) + number_literal) ))))) ;) }) (else_clause "else if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" else (if_statement "if (uStack_ec == 0) {\nLAB_00107aec:\n        uStack_140 = 0;\n      }\n      else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" if (parenthesized_expression "(uStack_ec == 0)" ( (binary_expression "uStack_ec == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00107aec:\n        uStack_140 = 0;\n      }" { (labeled_statement "LAB_00107aec:\n        uStack_140 = 0;" statement_identifier : (expression_statement "uStack_140 = 0;" (assignment_expression "uStack_140 = 0" identifier = number_literal) ;)) }) (else_clause "else if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" else (if_statement "if (uStack_ec == 2) {\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }\n      else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" if (parenthesized_expression "(uStack_ec == 2)" ( (binary_expression "uStack_ec == 2" identifier == number_literal) )) (compound_statement "{\n        uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);\n      }" { (expression_statement "uStack_140 = *(undefined8 *)(iVar12 + 0x1f0);" (assignment_expression "uStack_140 = *(undefined8 *)(iVar12 + 0x1f0)" identifier = (pointer_expression "*(undefined8 *)(iVar12 + 0x1f0)" * (cast_expression "(undefined8 *)(iVar12 + 0x1f0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 0x1f0)" ( (binary_expression "iVar12 + 0x1f0" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" else (compound_statement "{\n        if (uStack_ec != 3) goto LAB_0010accc;\n        uStack_140 = CONCAT44(uStack_fc,uStack_110);\n      }" { (if_statement "if (uStack_ec != 3) goto LAB_0010accc;" if (parenthesized_expression "(uStack_ec != 3)" ( (binary_expression "uStack_ec != 3" identifier != number_literal) )) (goto_statement "goto LAB_0010accc;" goto statement_identifier ;)) (expression_statement "uStack_140 = CONCAT44(uStack_fc,uStack_110);" (assignment_expression "uStack_140 = CONCAT44(uStack_fc,uStack_110)" identifier = (call_expression "CONCAT44(uStack_fc,uStack_110)" identifier (argument_list "(uStack_fc,uStack_110)" ( identifier , identifier )))) ;) }))))))) })) (labeled_statement "LAB_001073f4:\n    if (uVar42 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }" statement_identifier : (if_statement "if (uVar42 < 0xfa) {\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }" if (parenthesized_expression "(uVar42 < 0xfa)" ( (binary_expression "uVar42 < 0xfa" identifier < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();\n      return uVar3;\n    }" { comment comment (expression_statement "uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )();" (assignment_expression "uVar3 = (*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )()" identifier = (call_expression "(*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )()" (parenthesized_expression "(*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)\n              )" ( (pointer_expression "*(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)" * (parenthesized_expression "(pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4)" ( (binary_expression "pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4) + 0x3c25a4" (binary_expression "pcVar44 + *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4)" * (cast_expression "(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x7358 + uVar42 * 4" (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x7358" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) + (binary_expression "uVar42 * 4" identifier * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar3;" return identifier ;) }))) (expression_statement "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0);" (assignment_expression "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bef94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bef94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3ca0" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42);" (call_expression "(**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb024))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb024)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb024)" * (cast_expression "(code **)(pcVar44 + 0x3bb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb024)" ( (binary_expression "pcVar44 + 0x3bb024" identifier + number_literal) ))))) )) (argument_list "(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uVar42)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar3 = uVar3 + 1;" (assignment_expression "uVar3 = uVar3 + 1" identifier = (binary_expression "uVar3 + 1" identifier + number_literal)) ;) (expression_statement "puVar4 = puVar4 + 1;" (assignment_expression "puVar4 = puVar4 + 1" identifier = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (if_statement "if (uVar3 != 3) break;" if (parenthesized_expression "(uVar3 != 3)" ( (binary_expression "uVar3 != 3" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0010748c:\n    if ((uStack_120 == 4) || (uStack_120 == 100)) {\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }\n    else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" statement_identifier : (if_statement "if ((uStack_120 == 4) || (uStack_120 == 100)) {\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }\n    else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" if (parenthesized_expression "((uStack_120 == 4) || (uStack_120 == 100))" ( (binary_expression "(uStack_120 == 4) || (uStack_120 == 100)" (parenthesized_expression "(uStack_120 == 4)" ( (binary_expression "uStack_120 == 4" identifier == number_literal) )) || (parenthesized_expression "(uStack_120 == 100)" ( (binary_expression "uStack_120 == 100" identifier == number_literal) ))) )) (compound_statement "{\n      if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }\n    }" { (if_statement "if (uStack_100 < 0xd) {\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }" if (parenthesized_expression "(uStack_100 < 0xd)" ( (binary_expression "uStack_100 < 0xd" identifier < number_literal) )) (compound_statement "{\n        uVar6 = this->local_gotno_;\n        uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n        uVar34 = uVar6 & 0xffff;\n        uVar13 = uVar6 >> 0x10;\n        if (uStack_120 != 100) goto LAB_00107b0c;\n        uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;\n        goto switchD_001074ec_caseD_85;\n      }" { (expression_statement "uVar6 = this->local_gotno_;" (assignment_expression "uVar6 = this->local_gotno_" identifier = (field_expression "this->local_gotno_" identifier -> field_identifier)) ;) (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar34 = uVar6 & 0xffff;" (assignment_expression "uVar34 = uVar6 & 0xffff" identifier = (binary_expression "uVar6 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar13 = uVar6 >> 0x10;" (assignment_expression "uVar13 = uVar6 >> 0x10" identifier = (binary_expression "uVar6 >> 0x10" identifier >> number_literal)) ;) (if_statement "if (uStack_120 != 100) goto LAB_00107b0c;" if (parenthesized_expression "(uStack_120 != 100)" ( (binary_expression "uStack_120 != 100" identifier != number_literal) )) (goto_statement "goto LAB_00107b0c;" goto statement_identifier ;)) (expression_statement "uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00;" (assignment_expression "uVar6 = uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00" identifier = (binary_expression "uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b | uVar13 & 0xfc00" (binary_expression "uVar6 >> 0xb & 0x3e0 | uVar6 * 0x40 >> 0x1b" (binary_expression "uVar6 >> 0xb & 0x3e0" (binary_expression "uVar6 >> 0xb" identifier >> number_literal) & number_literal) | (binary_expression "uVar6 * 0x40 >> 0x1b" (binary_expression "uVar6 * 0x40" identifier * number_literal) >> number_literal)) | (binary_expression "uVar13 & 0xfc00" identifier & number_literal))) ;) (goto_statement "goto switchD_001074ec_caseD_85;" goto statement_identifier ;) })) }) (else_clause "else if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" else (if_statement "if (uStack_100 < 0xd) {\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }\n    else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" if (parenthesized_expression "(uStack_100 < 0xd)" ( (binary_expression "uStack_100 < 0xd" identifier < number_literal) )) (compound_statement "{\n      uVar6 = this->local_gotno_;\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      uVar34 = uVar6 & 0xffff;\n      uVar13 = uVar6 >> 0x10;\n      if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }\nLAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;\n      uVar26 = uVar34 & 0x7e0;\n      uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;\n      uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;\nswitchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);\n      *(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);\n    }" { (expression_statement "uVar6 = this->local_gotno_;" (assignment_expression "uVar6 = this->local_gotno_" identifier = (field_expression "this->local_gotno_" identifier -> field_identifier)) ;) (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "uVar34 = uVar6 & 0xffff;" (assignment_expression "uVar34 = uVar6 & 0xffff" identifier = (binary_expression "uVar6 & 0xffff" identifier & number_literal)) ;) (expression_statement "uVar13 = uVar6 >> 0x10;" (assignment_expression "uVar13 = uVar6 >> 0x10" identifier = (binary_expression "uVar6 >> 0x10" identifier >> number_literal)) ;) (if_statement "if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }" if (parenthesized_expression "(uStack_120 - 0x85 < 0x29)" ( (binary_expression "uStack_120 - 0x85 < 0x29" (binary_expression "uStack_120 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();\n        return uVar3;\n      }" { comment comment (expression_statement "uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))();" (assignment_expression "uVar3 = (*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))()" identifier = (call_expression "(*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))()" (parenthesized_expression "(*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4))" ( (pointer_expression "*(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4)" * (parenthesized_expression "(pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4)" ( (binary_expression "pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4) +\n                  0x3c25a4" (binary_expression "pcVar44 +\n                  *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4)" * (cast_expression "(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6f70 + (uStack_120 - 0x85) * 4" (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6f70" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) + (binary_expression "(uStack_120 - 0x85) * 4" (parenthesized_expression "(uStack_120 - 0x85)" ( (binary_expression "uStack_120 - 0x85" identifier - number_literal) )) * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar3;" return identifier ;) })) (labeled_statement "LAB_00107b0c:\n      uVar6 = (uVar6 << 5) >> 0x10;" statement_identifier : (expression_statement "uVar6 = (uVar6 << 5) >> 0x10;" (assignment_expression "uVar6 = (uVar6 << 5) >> 0x10" identifier = (binary_expression "(uVar6 << 5) >> 0x10" (parenthesized_expression "(uVar6 << 5)" ( (binary_expression "uVar6 << 5" identifier << number_literal) )) >> number_literal)) ;)) (expression_statement "uVar26 = uVar34 & 0x7e0;" (assignment_expression "uVar26 = uVar34 & 0x7e0" identifier = (binary_expression "uVar34 & 0x7e0" identifier & number_literal)) ;) (expression_statement "uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f;" (assignment_expression "uVar34 = uVar6 & 0xffe0 | uVar34 & 0x1f" identifier = (binary_expression "uVar6 & 0xffe0 | uVar34 & 0x1f" (binary_expression "uVar6 & 0xffe0" identifier & number_literal) | (binary_expression "uVar34 & 0x1f" identifier & number_literal))) ;) (expression_statement "uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f;" (assignment_expression "uVar6 = uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f" identifier = (binary_expression "uVar13 & 0xf800 | uVar26 | uVar6 & 0x1f" (binary_expression "uVar13 & 0xf800 | uVar26" (binary_expression "uVar13 & 0xf800" identifier & number_literal) | identifier) | (binary_expression "uVar6 & 0x1f" identifier & number_literal))) ;) (labeled_statement "switchD_001074ec_caseD_85:\n      *(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);" statement_identifier : (expression_statement "*(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8);" (assignment_expression "*(ushort *)((int)&this->local_gotno_ + 2) =\n           (ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8)" (pointer_expression "*(ushort *)((int)&this->local_gotno_ + 2)" * (cast_expression "(ushort *)((int)&this->local_gotno_ + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this->local_gotno_ + 2)" ( (binary_expression "(int)&this->local_gotno_ + 2" (cast_expression "(int)&this->local_gotno_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(ushort)((uVar34 & 0xff) << 8) | (ushort)(uVar34 >> 8)" (call_expression "(ushort)((uVar34 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar34 & 0xff) << 8)" ( (binary_expression "(uVar34 & 0xff) << 8" (parenthesized_expression "(uVar34 & 0xff)" ( (binary_expression "uVar34 & 0xff" identifier & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar34 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar34 >> 8)" ( (binary_expression "uVar34 >> 8" identifier >> number_literal) ))))) ;)) (expression_statement "*(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8);" (assignment_expression "*(ushort *)&this->local_gotno_ = (ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8)" (pointer_expression "*(ushort *)&this->local_gotno_" * (cast_expression "(ushort *)&this->local_gotno_" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->local_gotno_" & (field_expression "this->local_gotno_" identifier -> field_identifier)))) = (binary_expression "(ushort)((uVar6 & 0xff) << 8) | (ushort)(uVar6 >> 8)" (call_expression "(ushort)((uVar6 & 0xff) << 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((uVar6 & 0xff) << 8)" ( (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) ))) | (call_expression "(ushort)(uVar6 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar6 >> 8)" ( (binary_expression "uVar6 >> 8" identifier >> number_literal) ))))) ;) }) (else_clause "else if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" else (if_statement "if (uStack_120 - 0x85 < 0x29) {\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" if (parenthesized_expression "(uStack_120 - 0x85 < 0x29)" ( (binary_expression "uStack_120 - 0x85 < 0x29" (binary_expression "uStack_120 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();\n      return uVar3;\n    }" { comment comment (expression_statement "uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))();" (assignment_expression "uVar3 = (*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))()" identifier = (call_expression "(*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))()" (parenthesized_expression "(*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4))" ( (pointer_expression "*(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4)" * (parenthesized_expression "(pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4)" ( (binary_expression "pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4) +\n                0x3c25a4" (binary_expression "pcVar44 +\n                *(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4)" identifier + (pointer_expression "*(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4)" * (cast_expression "(int *)(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6ecc + (uStack_120 - 0x85) * 4" (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x6ecc" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) + (binary_expression "(uStack_120 - 0x85) * 4" (parenthesized_expression "(uStack_120 - 0x85)" ( (binary_expression "uStack_120 - 0x85" identifier - number_literal) )) * number_literal)) ))))) + number_literal) ))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar3;" return identifier ;) }))))))) (if_statement "if (uVar37 != 1) {\n      if (uVar37 == 0) goto LAB_001075a8;\n      if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }\n      pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;\nLAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);\n      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);\n      goto LAB_001075a8;\n    }" if (parenthesized_expression "(uVar37 != 1)" ( (binary_expression "uVar37 != 1" identifier != number_literal) )) (compound_statement "{\n      if (uVar37 == 0) goto LAB_001075a8;\n      if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }\n      pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n      iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;\nLAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);\n      (**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);\n      goto LAB_001075a8;\n    }" { (if_statement "if (uVar37 == 0) goto LAB_001075a8;" if (parenthesized_expression "(uVar37 == 0)" ( (binary_expression "uVar37 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001075a8;" goto statement_identifier ;)) (if_statement "if (uVar37 != 2) {\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }" if (parenthesized_expression "(uVar37 != 2)" ( (binary_expression "uVar37 != 2" identifier != number_literal) )) (compound_statement "{\n        pcVar40 = *(code **)(pcVar44 + 0x3bef94);\n        if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);\n        (*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();\n        pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);\n        (*pcVar40)();\n        (*(pcVar40 + -0x6db0))();\nLAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\nLAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();\nLAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();\nLAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();\n        pcVar40 = *(code **)(pcVar44 + 0x3bad94);\n        (*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);\n        (*(pcVar40 + 0x4fe0))();\nLAB_0010ade0:\n        iVar25 = iStack_d4;\n        if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }\n        *(char *)(puVar20 + 2) = (char)uVar38;\n        uStack_140 = 0;\n        goto LAB_001073f4;\n      }" { (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3bef94);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3bef94)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) ;) (if_statement "if (uVar37 == 3) {\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }" if (parenthesized_expression "(uVar37 == 3)" ( (binary_expression "uVar37 == 3" identifier == number_literal) )) (compound_statement "{\n          iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;\n          goto LAB_0010757c;\n        }" { (expression_statement "iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c;" (assignment_expression "iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c" identifier = (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3d7c" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_0010757c;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x3035,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_0010accc:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" statement_identifier : (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e20,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;)) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x86a,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x3838)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x3838" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c)" ( (binary_expression "*(int *)(pcVar44 + 0x3bae28) + -0x6d7c" (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2eda,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0);" (assignment_expression "pcVar40 = (code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" identifier = (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar40)();" (call_expression "(*pcVar40)()" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(*(pcVar40 + -0x6db0))();" (call_expression "(*(pcVar40 + -0x6db0))()" (parenthesized_expression "(*(pcVar40 + -0x6db0))" ( (pointer_expression "*(pcVar40 + -0x6db0)" * (parenthesized_expression "(pcVar40 + -0x6db0)" ( (binary_expression "pcVar40 + -0x6db0" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0010ad6c:\n        (**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" statement_identifier : (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                  (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2d5f,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_0010ad88:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x7664)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x7664" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0010ad98:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4f78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4f78)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4f78" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_0010ada8:\n        (*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();" statement_identifier : (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x5a84)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x5a84)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x5a84" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;)) (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3bad94);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3bad94)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (call_expression "(*pcVar40)(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e46,\n                   *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*(pcVar40 + 0x4fe0))();" (call_expression "(*(pcVar40 + 0x4fe0))()" (parenthesized_expression "(*(pcVar40 + 0x4fe0))" ( (pointer_expression "*(pcVar40 + 0x4fe0)" * (parenthesized_expression "(pcVar40 + 0x4fe0)" ( (binary_expression "pcVar40 + 0x4fe0" identifier + number_literal) ))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0010ade0:\n        iVar25 = iStack_d4;" statement_identifier : (expression_statement "iVar25 = iStack_d4;" (assignment_expression "iVar25 = iStack_d4" identifier = identifier) ;)) (if_statement "if (p_Stack_d8 == p_Stack_f4) {\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }\n        else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }" if (parenthesized_expression "(p_Stack_d8 == p_Stack_f4)" ( (binary_expression "p_Stack_d8 == p_Stack_f4" identifier == identifier) )) (compound_statement "{\nLAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;\n          uVar38 = (uint)(uStack_dc != 0);\n        }" { (labeled_statement "LAB_0010ae1c:\n          if (iVar25 != iStack_f8) goto LAB_0010adf0;" statement_identifier : (if_statement "if (iVar25 != iStack_f8) goto LAB_0010adf0;" if (parenthesized_expression "(iVar25 != iStack_f8)" ( (binary_expression "iVar25 != iStack_f8" identifier != identifier) )) (goto_statement "goto LAB_0010adf0;" goto statement_identifier ;))) (expression_statement "uVar38 = (uint)(uStack_dc != 0);" (assignment_expression "uVar38 = (uint)(uStack_dc != 0)" identifier = (call_expression "(uint)(uStack_dc != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uStack_dc != 0)" ( (binary_expression "uStack_dc != 0" identifier != number_literal) )))) ;) }) (else_clause "else {\nLAB_0010adf0:\n          uVar38 = 0;\n        }" else (compound_statement "{\nLAB_0010adf0:\n          uVar38 = 0;\n        }" { (labeled_statement "LAB_0010adf0:\n          uVar38 = 0;" statement_identifier : (expression_statement "uVar38 = 0;" (assignment_expression "uVar38 = 0" identifier = number_literal) ;)) }))) (expression_statement "*(char *)(puVar20 + 2) = (char)uVar38;" (assignment_expression "*(char *)(puVar20 + 2) = (char)uVar38" (pointer_expression "*(char *)(puVar20 + 2)" * (cast_expression "(char *)(puVar20 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar20 + 2)" ( (binary_expression "puVar20 + 2" identifier + number_literal) )))) = (cast_expression "(char)uVar38" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "uStack_140 = 0;" (assignment_expression "uStack_140 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_001073f4;" goto statement_identifier ;) })) (expression_statement "pcVar40 = *(code **)(pcVar44 + 0x3bef94);" (assignment_expression "pcVar40 = *(code **)(pcVar44 + 0x3bef94)" identifier = (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c;" (assignment_expression "iVar12 = *(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c" identifier = (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3d4c" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_0010757c:\n      uVar8 = (*pcVar40)(iVar12);" statement_identifier : (expression_statement "uVar8 = (*pcVar40)(iVar12);" (assignment_expression "uVar8 = (*pcVar40)(iVar12)" identifier = (call_expression "(*pcVar40)(iVar12)" (parenthesized_expression "(*pcVar40)" ( (pointer_expression "*pcVar40" * identifier) )) (argument_list "(iVar12)" ( identifier )))) ;)) (expression_statement "(**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8);" (call_expression "(**(code **)(pcVar44 + 0x3bb024))(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb024))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb024)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb024)" * (cast_expression "(code **)(pcVar44 + 0x3bb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb024)" ( (binary_expression "pcVar44 + 0x3bb024" identifier + number_literal) ))))) )) (argument_list "(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_001075a8;" goto statement_identifier ;) })) (if_statement "if (puStack_5c == (undefined4 *)0x0) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));\nLAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);\n      return 1;\n    }" if (parenthesized_expression "(puStack_5c == (undefined4 *)0x0)" ( (binary_expression "puStack_5c == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));\nLAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);\n      return 1;\n    }" { (expression_statement "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8);" (assignment_expression "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bef94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bef94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3cb8" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4));" (call_expression "(**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4))" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb024))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb024)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb024)" * (cast_expression "(code **)(pcVar44 + 0x3bb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb024)" ( (binary_expression "pcVar44 + 0x3bb024" identifier + number_literal) ))))) )) (argument_list "(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,p_Stack_108,\n                 *(undefined4 *)(iVar12 + 4))" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "*(undefined4 *)(iVar12 + 4)" * (cast_expression "(undefined4 *)(iVar12 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + 4)" ( (binary_expression "iVar12 + 4" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_001075a8:\n      (**(code **)(pcVar44 + 0x3bb028))(puStack_128);" statement_identifier : (expression_statement "(**(code **)(pcVar44 + 0x3bb028))(puStack_128);" (call_expression "(**(code **)(pcVar44 + 0x3bb028))(puStack_128)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb028))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb028)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb028)" * (cast_expression "(code **)(pcVar44 + 0x3bb028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb028)" ( (binary_expression "pcVar44 + 0x3bb028" identifier + number_literal) ))))) )) (argument_list "(puStack_128)" ( identifier ))) ;)) (return_statement "return 1;" return number_literal ;) })) (expression_statement "uVar3 = puStack_5c[10] & 0xe000;" (assignment_expression "uVar3 = puStack_5c[10] & 0xe000" identifier = (binary_expression "puStack_5c[10] & 0xe000" (subscript_expression "puStack_5c[10]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if (uVar3 == 0) {\n      if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }\n    }\n    else {\n      bVar10 = uVar3 != 0x8000;\n    }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }\n    }" { (if_statement "if ((int)(puStack_5c[10] << 0x1d) < 0) {\n        bVar10 = puStack_5c[3] != 0;\n      }\n      else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }" if (parenthesized_expression "((int)(puStack_5c[10] << 0x1d) < 0)" ( (binary_expression "(int)(puStack_5c[10] << 0x1d) < 0" (cast_expression "(int)(puStack_5c[10] << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puStack_5c[10] << 0x1d)" ( (binary_expression "puStack_5c[10] << 0x1d" (subscript_expression "puStack_5c[10]" identifier [ number_literal ]) << number_literal) ))) < number_literal) )) (compound_statement "{\n        bVar10 = puStack_5c[3] != 0;\n      }" { (expression_statement "bVar10 = puStack_5c[3] != 0;" (assignment_expression "bVar10 = puStack_5c[3] != 0" identifier = (binary_expression "puStack_5c[3] != 0" (subscript_expression "puStack_5c[3]" identifier [ number_literal ]) != number_literal)) ;) }) (else_clause "else {\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }" else (compound_statement "{\n        bVar10 = (**(code **)(pcVar44 + 0x3bb030))();\n        bVar10 = bVar10 ^ 1;\n      }" { (expression_statement "bVar10 = (**(code **)(pcVar44 + 0x3bb030))();" (assignment_expression "bVar10 = (**(code **)(pcVar44 + 0x3bb030))()" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bb030))()" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb030))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb030)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb030)" * (cast_expression "(code **)(pcVar44 + 0x3bb030)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb030)" ( (binary_expression "pcVar44 + 0x3bb030" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "bVar10 = bVar10 ^ 1;" (assignment_expression "bVar10 = bVar10 ^ 1" identifier = (binary_expression "bVar10 ^ 1" identifier ^ number_literal)) ;) }))) }) (else_clause "else {\n      bVar10 = uVar3 != 0x8000;\n    }" else (compound_statement "{\n      bVar10 = uVar3 != 0x8000;\n    }" { (expression_statement "bVar10 = uVar3 != 0x8000;" (assignment_expression "bVar10 = uVar3 != 0x8000" identifier = (binary_expression "uVar3 != 0x8000" identifier != number_literal)) ;) }))) (if_statement "if ((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)) {\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);\n      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);\n      goto LAB_001078f4;\n    }" if (parenthesized_expression "((bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0))" ( (binary_expression "(bVar10 == 0) || ((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)" (parenthesized_expression "(bVar10 == 0)" ( (binary_expression "bVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "((uint)(puStack_5c[10] << 0x10) >> 0x1d != 0)" ( (binary_expression "(uint)(puStack_5c[10] << 0x10) >> 0x1d != 0" (binary_expression "(uint)(puStack_5c[10] << 0x10) >> 0x1d" (call_expression "(uint)(puStack_5c[10] << 0x10)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puStack_5c[10] << 0x10)" ( (binary_expression "puStack_5c[10] << 0x10" (subscript_expression "puStack_5c[10]" identifier [ number_literal ]) << number_literal) ))) >> number_literal) != number_literal) ))) )) (compound_statement "{\n      uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);\n      (**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);\n      goto LAB_001078f4;\n    }" { (expression_statement "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0);" (assignment_expression "uVar8 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bef94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bef94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3cf0" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);" (call_expression "(**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb02c))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb02c)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb02c)" * (cast_expression "(code **)(pcVar44 + 0x3bb02c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb02c)" ( (binary_expression "pcVar44 + 0x3bb02c" identifier + number_literal) ))))) )) (argument_list "(apuStack_168,puStack_5c)" ( identifier , identifier ))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0]);" (call_expression "(**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0])" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb024))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb024)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb024)" * (cast_expression "(code **)(pcVar44 + 0x3bb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb024)" ( (binary_expression "pcVar44 + 0x3bb024" identifier + number_literal) ))))) )) (argument_list "(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar8,uStack_120,apuStack_168[0])" ( identifier , identifier , identifier , identifier , identifier , identifier , (subscript_expression "apuStack_168[0]" identifier [ number_literal ]) ))) ;) (goto_statement "goto LAB_001078f4;" goto statement_identifier ;) })) (expression_statement "uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18);" (assignment_expression "uVar3 = (**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18)" identifier = (call_expression "(**(code **)(pcVar44 + 0x3bef94))(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bef94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bef94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bef94)" * (cast_expression "(code **)(pcVar44 + 0x3bef94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bef94)" ( (binary_expression "pcVar44 + 0x3bef94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3d18" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c);" (call_expression "(**(code **)(pcVar44 + 0x3bb02c))(apuStack_168,puStack_5c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb02c))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb02c)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb02c)" * (cast_expression "(code **)(pcVar44 + 0x3bb02c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb02c)" ( (binary_expression "pcVar44 + 0x3bb02c" identifier + number_literal) ))))) )) (argument_list "(apuStack_168,puStack_5c)" ( identifier , identifier ))) ;) (if_statement "if ((puStack_5c[10] & 0xe000) == 0) {\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));\nLAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }\n      goto LAB_001075a8;\n    }" if (parenthesized_expression "((puStack_5c[10] & 0xe000) == 0)" ( (binary_expression "(puStack_5c[10] & 0xe000) == 0" (parenthesized_expression "(puStack_5c[10] & 0xe000)" ( (binary_expression "puStack_5c[10] & 0xe000" (subscript_expression "puStack_5c[10]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n      (**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));\nLAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }\n      goto LAB_001075a8;\n    }" { (expression_statement "(**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4));" (call_expression "(**(code **)(pcVar44 + 0x3bb024))\n                (iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4))" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bb024))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bb024)" * (pointer_expression "*(code **)(pcVar44 + 0x3bb024)" * (cast_expression "(code **)(pcVar44 + 0x3bb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bb024)" ( (binary_expression "pcVar44 + 0x3bb024" identifier + number_literal) ))))) )) (argument_list "(iVar19,in_stack_ffffff9c,p_Stack_f4,iStack_f8,uVar3,uStack_120,apuStack_168[0],\n                 *(undefined4 *)(puStack_5c[2] + 4))" ( identifier , identifier , identifier , identifier , identifier , identifier , (subscript_expression "apuStack_168[0]" identifier [ number_literal ]) , (pointer_expression "*(undefined4 *)(puStack_5c[2] + 4)" * (cast_expression "(undefined4 *)(puStack_5c[2] + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_5c[2] + 4)" ( (binary_expression "puStack_5c[2] + 4" (subscript_expression "puStack_5c[2]" identifier [ number_literal ]) + number_literal) )))) ))) ;) (labeled_statement "LAB_001078f4:\n      if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }" statement_identifier : (if_statement "if (apuStack_168[0] != auStack_160) {\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }" if (parenthesized_expression "(apuStack_168[0] != auStack_160)" ( (binary_expression "apuStack_168[0] != auStack_160" (subscript_expression "apuStack_168[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n        (**(code **)(pcVar44 + 0x3ba660))();\n      }" { (expression_statement "(**(code **)(pcVar44 + 0x3ba660))();" (call_expression "(**(code **)(pcVar44 + 0x3ba660))()" (parenthesized_expression "(**(code **)(pcVar44 + 0x3ba660))" ( (pointer_expression "**(code **)(pcVar44 + 0x3ba660)" * (pointer_expression "*(code **)(pcVar44 + 0x3ba660)" * (cast_expression "(code **)(pcVar44 + 0x3ba660)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3ba660)" ( (binary_expression "pcVar44 + 0x3ba660" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (goto_statement "goto LAB_001075a8;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(pcVar44 + 0x3badb4) + -0x3874)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3860" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x3874" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar37 = 1;" (assignment_expression "uVar37 = 1" identifier = number_literal) ;) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (labeled_statement "LAB_0010afdc:\n    puStack_128 = &uStack_150;" statement_identifier : (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;)) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x668,*(int *)(pcVar44 + 0x3badb4) + -0x3640)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x3640" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar46 = uStack_140;" (assignment_expression "uVar46 = uStack_140" identifier = identifier) ;) (labeled_statement "LAB_0010b000:\n    puStack_128 = &uStack_150;" statement_identifier : (expression_statement "puStack_128 = &uStack_150;" (assignment_expression "puStack_128 = &uStack_150" identifier = (pointer_expression "&uStack_150" & identifier)) ;)) (expression_statement "uStack_140 = uVar46;" (assignment_expression "uStack_140 = uVar46" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624);" (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n              (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(pcVar44 + 0x3badb4) + -0x3624)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x3624" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3badb0) + 0x4fe0)" ( (binary_expression "*(int *)(pcVar44 + 0x3badb0) + 0x4fe0" (pointer_expression "*(int *)(pcVar44 + 0x3badb0)" * (cast_expression "(int *)(pcVar44 + 0x3badb0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb0)" ( (binary_expression "pcVar44 + 0x3badb0" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))();" (call_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))()" (parenthesized_expression "(*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c))" ( (pointer_expression "*(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c)" * (cast_expression "(code *)(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar44 + 0x3bae28) + -0x6d7c)" ( (binary_expression "*(int *)(pcVar44 + 0x3bae28) + -0x6d7c" (pointer_expression "*(int *)(pcVar44 + 0x3bae28)" * (cast_expression "(int *)(pcVar44 + 0x3bae28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3bae28)" ( (binary_expression "pcVar44 + 0x3bae28" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c);" (assignment_expression "puStack_104 = (uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" identifier = (cast_expression "(uint *)(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar44 + 0x3bad94))\n                                    (*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" (parenthesized_expression "(**(code **)(pcVar44 + 0x3bad94))" ( (pointer_expression "**(code **)(pcVar44 + 0x3bad94)" * (pointer_expression "*(code **)(pcVar44 + 0x3bad94)" * (cast_expression "(code **)(pcVar44 + 0x3bad94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar44 + 0x3bad94)" ( (binary_expression "pcVar44 + 0x3bad94" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar44 + 0x3ba5e0) + 0x3588,0x2e88,\n                                     *(int *)(pcVar44 + 0x3badb4) + -0x360c)" ( (binary_expression "*(int *)(pcVar44 + 0x3ba5e0) + 0x3588" (pointer_expression "*(int *)(pcVar44 + 0x3ba5e0)" * (cast_expression "(int *)(pcVar44 + 0x3ba5e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3ba5e0)" ( (binary_expression "pcVar44 + 0x3ba5e0" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar44 + 0x3badb4) + -0x360c" (pointer_expression "*(int *)(pcVar44 + 0x3badb4)" * (cast_expression "(int *)(pcVar44 + 0x3badb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar44 + 0x3badb4)" ( (binary_expression "pcVar44 + 0x3badb4" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_0010b0c0:\n    puStack_11c = (uint *)0x0;" statement_identifier : (expression_statement "puStack_11c = (uint *)0x0;" (assignment_expression "puStack_11c = (uint *)0x0" identifier = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) }) while (parenthesized_expression "( true )" ( true )) ;)) (expression_statement "uVar42 = *puVar4;" (assignment_expression "uVar42 = *puVar4" identifier = (pointer_expression "*puVar4" * identifier)) ;) (goto_statement "goto LAB_001073b0;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit "uint FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "uint local_20 [3];" type_identifier (array_declarator "local_20 [3]" identifier [ number_literal ]) ;) (expression_statement "uVar1 = *(uint *)(param_1 + 0x78);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x78)" identifier = (pointer_expression "*(uint *)(param_1 + 0x78)" * (cast_expression "(uint *)(param_1 + 0x78)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) ))))) ;) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    trap(7);\n  }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);" (assignment_expression "piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" identifier = (pointer_expression "*(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" * (cast_expression "(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" ( (binary_expression "*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4" (pointer_expression "*(int *)(param_1 + 0x74)" * (cast_expression "(int *)(param_1 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x74)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) )))) + (binary_expression "(param_4 % uVar1) * 4" (parenthesized_expression "(param_4 % uVar1)" ( (binary_expression "param_4 % uVar1" identifier % identifier) )) * number_literal)) ))))) ;) (if_statement "if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }" if (parenthesized_expression "(piVar6 != (int *)0x0)" ( (binary_expression "piVar6 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }" { (expression_statement "uVar3 = ((int *)*piVar6)[1];" (assignment_expression "uVar3 = ((int *)*piVar6)[1]" identifier = (subscript_expression "((int *)*piVar6)[1]" (parenthesized_expression "((int *)*piVar6)" ( (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier)) )) [ number_literal ])) ;) (expression_statement "piVar7 = (int *)*piVar6;" (assignment_expression "piVar7 = (int *)*piVar6" identifier = (cast_expression "(int *)*piVar6" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar6" * identifier))) ;) (do_statement "do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);" do (compound_statement "{\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    }" { (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" identifier = identifier) ;) (if_statement "if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }" if (parenthesized_expression "(param_4 == uVar3)" ( (binary_expression "param_4 == uVar3" identifier == identifier) )) (compound_statement "{\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }" { (if_statement "if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }" if (parenthesized_expression "(*piVar6 != 0)" ( (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" * identifier) != number_literal) )) (compound_statement "{\n          return *(uint *)(*piVar6 + 8);\n        }" { (return_statement "return *(uint *)(*piVar6 + 8);" return (pointer_expression "*(uint *)(*piVar6 + 8)" * (cast_expression "(uint *)(*piVar6 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar6 + 8)" ( (binary_expression "*piVar6 + 8" (pointer_expression "*piVar6" * identifier) + number_literal) )))) ;) })) (break_statement "break;" break ;) })) (expression_statement "piVar7 = (int *)*piVar5;" (assignment_expression "piVar7 = (int *)*piVar5" identifier = (cast_expression "(int *)*piVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar5" * identifier))) ;) (if_statement "if (piVar7 == (int *)0x0) break;" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar3 = piVar7[1];" (assignment_expression "uVar3 = piVar7[1]" identifier = (subscript_expression "piVar7[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\n        trap(7);\n      }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "piVar6 = piVar5;" (assignment_expression "piVar6 = piVar5" identifier = identifier) ;) }) while (parenthesized_expression "(param_4 % uVar1 == uVar3 % uVar1)" ( (binary_expression "param_4 % uVar1 == uVar3 % uVar1" (binary_expression "param_4 % uVar1" identifier % identifier) == (binary_expression "uVar3 % uVar1" identifier % identifier)) )) ;) })) (expression_statement "uVar1 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x70)" identifier = (pointer_expression "*(uint *)(param_1 + 0x70)" * (cast_expression "(uint *)(param_1 + 0x70)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) ))))) ;) (if_statement "if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }" if (parenthesized_expression "(uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c)))" ( (binary_expression "uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" identifier < (call_expression "(uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" ( (binary_expression "*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c)" (binary_expression "*(int *)(param_1 + 4) * 8" (pointer_expression "*(int *)(param_1 + 4)" * (cast_expression "(int *)(param_1 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) * number_literal) + (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) ))))) )))) )) (compound_statement "{\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }" { (expression_statement "local_20[0] = param_4;" (assignment_expression "local_20[0] = param_4" (subscript_expression "local_20[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);" (assignment_expression "puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" identifier = (cast_expression "(uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" (parenthesized_expression "(*(code *)PTR_operator___004c1cb0)" ( (pointer_expression "*(code *)PTR_operator___004c1cb0" * (cast_expression "(code *)PTR_operator___004c1cb0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x74,local_20)" ( (binary_expression "param_1 + 0x74" identifier + number_literal) , identifier ))))) ;) (expression_statement "iVar4 = *(int *)(param_5 + 0x80);" (assignment_expression "iVar4 = *(int *)(param_5 + 0x80)" identifier = (pointer_expression "*(int *)(param_5 + 0x80)" * (cast_expression "(int *)(param_5 + 0x80)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x80)" ( (binary_expression "param_5 + 0x80" identifier + number_literal) ))))) ;) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" * identifier) = identifier) ;) (expression_statement "piVar6 = (int *)(iVar4 + uVar1);" (assignment_expression "piVar6 = (int *)(iVar4 + uVar1)" identifier = (cast_expression "(int *)(iVar4 + uVar1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + uVar1)" ( (binary_expression "iVar4 + uVar1" identifier + identifier) )))) ;) (expression_statement "*(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;" (assignment_expression "*(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8" (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) = (binary_expression "*(int *)(param_1 + 0x70) + 8" (pointer_expression "*(int *)(param_1 + 0x70)" * (cast_expression "(int *)(param_1 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x70)" ( (binary_expression "param_1 + 0x70" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar6" * identifier) = (binary_expression "(((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10)" ( (binary_expression "(param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10" (binary_expression "(param_4 >> 0x10) << 0x18" (parenthesized_expression "(param_4 >> 0x10)" ( (binary_expression "param_4 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(param_4 >> 0x18) << 0x10" (parenthesized_expression "(param_4 >> 0x18)" ( (binary_expression "param_4 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff)" ( (binary_expression "(param_4 & 0xff) << 8 | param_4 >> 8 & 0xff" (binary_expression "(param_4 & 0xff) << 8" (parenthesized_expression "(param_4 & 0xff)" ( (binary_expression "param_4 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "param_4 >> 8 & 0xff" (binary_expression "param_4 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (expression_statement "piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar6[1]" identifier [ number_literal ]) = (binary_expression "(((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10)" ( (binary_expression "(param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10" (binary_expression "(param_3 >> 0x10) << 0x18" (parenthesized_expression "(param_3 >> 0x10)" ( (binary_expression "param_3 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(param_3 >> 0x18) << 0x10" (parenthesized_expression "(param_3 >> 0x18)" ( (binary_expression "param_3 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff)" ( (binary_expression "(param_3 & 0xff) << 8 | param_3 >> 8 & 0xff" (binary_expression "(param_3 & 0xff) << 8" (parenthesized_expression "(param_3 & 0xff)" ( (binary_expression "param_3 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "param_3 >> 8 & 0xff" (binary_expression "param_3 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (return_statement "return uVar1;" return identifier ;) })) (expression_statement "uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);" (assignment_expression "uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" identifier = (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + -0x37c0" identifier + number_literal) )))) ;) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT % IDENT) )) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) )) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT % IDENT) == (binary_expression IDENT % 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 < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) )))) ;) (return_statement return IDENT ;) })))
(function_definition "uint FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}" (type_identifier "uint") (function_declarator "FUN_00106850(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" (identifier "FUN_00106850") (parameter_list "(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  uint uVar1;\n  uint *puVar2;\n  uint uVar3;\n  int iVar4;\n  int *piVar5;\n  int *piVar6;\n  int *piVar7;\n  uint local_20 [3];\n  \n  uVar1 = *(uint *)(param_1 + 0x78);\n  if (uVar1 == 0) {\n    trap(7);\n  }\n  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);\n  if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }\n  uVar1 = *(uint *)(param_1 + 0x70);\n  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }\n  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);\n  return uVar1;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "uint local_20 [3];" (type_identifier "uint") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]")) (; ";")) (expression_statement "uVar1 = *(uint *)(param_1 + 0x78);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x78)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(param_1 + 0x78)" (* "*") (cast_expression "(uint *)(param_1 + 0x78)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")"))))) (; ";")) (if_statement "if (uVar1 == 0) {\n    trap(7);\n  }" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    trap(7);\n  }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);" (assignment_expression "piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" (* "*") (cast_expression "(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4)" (( "(") (binary_expression "*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4" (pointer_expression "*(int *)(param_1 + 0x74)" (* "*") (cast_expression "(int *)(param_1 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x74)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) () ")")))) (+ "+") (binary_expression "(param_4 % uVar1) * 4" (parenthesized_expression "(param_4 % uVar1)" (( "(") (binary_expression "param_4 % uVar1" (identifier "param_4") (% "%") (identifier "uVar1")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (piVar6 != (int *)0x0) {\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }" (if "if") (parenthesized_expression "(piVar6 != (int *)0x0)" (( "(") (binary_expression "piVar6 != (int *)0x0" (identifier "piVar6") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar3 = ((int *)*piVar6)[1];\n    piVar7 = (int *)*piVar6;\n    do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);\n  }" ({ "{") (expression_statement "uVar3 = ((int *)*piVar6)[1];" (assignment_expression "uVar3 = ((int *)*piVar6)[1]" (identifier "uVar3") (= "=") (subscript_expression "((int *)*piVar6)[1]" (parenthesized_expression "((int *)*piVar6)" (( "(") (cast_expression "(int *)*piVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) () ")")) ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar7 = (int *)*piVar6;" (assignment_expression "piVar7 = (int *)*piVar6" (identifier "piVar7") (= "=") (cast_expression "(int *)*piVar6" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar6" (* "*") (identifier "piVar6")))) (; ";")) (do_statement "do {\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    } while (param_4 % uVar1 == uVar3 % uVar1);" (do "do") (compound_statement "{\n      piVar5 = piVar7;\n      if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }\n      piVar7 = (int *)*piVar5;\n      if (piVar7 == (int *)0x0) break;\n      uVar3 = piVar7[1];\n      if (uVar1 == 0) {\n        trap(7);\n      }\n      piVar6 = piVar5;\n    }" ({ "{") (expression_statement "piVar5 = piVar7;" (assignment_expression "piVar5 = piVar7" (identifier "piVar5") (= "=") (identifier "piVar7")) (; ";")) (if_statement "if (param_4 == uVar3) {\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }" (if "if") (parenthesized_expression "(param_4 == uVar3)" (( "(") (binary_expression "param_4 == uVar3" (identifier "param_4") (== "==") (identifier "uVar3")) () ")")) (compound_statement "{\n        if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }\n        break;\n      }" ({ "{") (if_statement "if (*piVar6 != 0) {\n          return *(uint *)(*piVar6 + 8);\n        }" (if "if") (parenthesized_expression "(*piVar6 != 0)" (( "(") (binary_expression "*piVar6 != 0" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return *(uint *)(*piVar6 + 8);\n        }" ({ "{") (return_statement "return *(uint *)(*piVar6 + 8);" (return "return") (pointer_expression "*(uint *)(*piVar6 + 8)" (* "*") (cast_expression "(uint *)(*piVar6 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar6 + 8)" (( "(") (binary_expression "*piVar6 + 8" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar7 = (int *)*piVar5;" (assignment_expression "piVar7 = (int *)*piVar5" (identifier "piVar7") (= "=") (cast_expression "(int *)*piVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")))) (; ";")) (if_statement "if (piVar7 == (int *)0x0) break;" (if "if") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar3 = piVar7[1];" (assignment_expression "uVar3 = piVar7[1]" (identifier "uVar3") (= "=") (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar1 == 0) {\n        trap(7);\n      }" (if "if") (parenthesized_expression "(uVar1 == 0)" (( "(") (binary_expression "uVar1 == 0" (identifier "uVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        trap(7);\n      }" ({ "{") (expression_statement "trap(7);" (call_expression "trap(7)" (identifier "trap") (argument_list "(7)" (( "(") (number_literal "7") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar6 = piVar5;" (assignment_expression "piVar6 = piVar5" (identifier "piVar6") (= "=") (identifier "piVar5")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_4 % uVar1 == uVar3 % uVar1)" (( "(") (binary_expression "param_4 % uVar1 == uVar3 % uVar1" (binary_expression "param_4 % uVar1" (identifier "param_4") (% "%") (identifier "uVar1")) (== "==") (binary_expression "uVar3 % uVar1" (identifier "uVar3") (% "%") (identifier "uVar1"))) () ")")) (; ";")) (} "}"))) (expression_statement "uVar1 = *(uint *)(param_1 + 0x70);" (assignment_expression "uVar1 = *(uint *)(param_1 + 0x70)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(param_1 + 0x70)" (* "*") (cast_expression "(uint *)(param_1 + 0x70)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (if_statement "if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }" (if "if") (parenthesized_expression "(uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c)))" (( "(") (binary_expression "uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" (identifier "uVar1") (< "<") (call_expression "(uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))" (( "(") (binary_expression "*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c)" (binary_expression "*(int *)(param_1 + 4) * 8" (pointer_expression "*(int *)(param_1 + 4)" (* "*") (cast_expression "(int *)(param_1 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (* "*") (number_literal "8")) (+ "+") (pointer_expression "*(int *)(param_1 + 0x6c)" (* "*") (cast_expression "(int *)(param_1 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")"))))) () ")")))) () ")")) (compound_statement "{\n    local_20[0] = param_4;\n    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);\n    iVar4 = *(int *)(param_5 + 0x80);\n    *puVar2 = uVar1;\n    piVar6 = (int *)(iVar4 + uVar1);\n    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;\n    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;\n    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;\n    return uVar1;\n  }" ({ "{") (expression_statement "local_20[0] = param_4;" (assignment_expression "local_20[0] = param_4" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);" (assignment_expression "puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" (identifier "puVar2") (= "=") (cast_expression "(uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20)" (parenthesized_expression "(*(code *)PTR_operator___004c1cb0)" (( "(") (pointer_expression "*(code *)PTR_operator___004c1cb0" (* "*") (cast_expression "(code *)PTR_operator___004c1cb0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator___004c1cb0"))) () ")")) (argument_list "(param_1 + 0x74,local_20)" (( "(") (binary_expression "param_1 + 0x74" (identifier "param_1") (+ "+") (number_literal "0x74")) (, ",") (identifier "local_20") () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(param_5 + 0x80);" (assignment_expression "iVar4 = *(int *)(param_5 + 0x80)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_5 + 0x80)" (* "*") (cast_expression "(int *)(param_5 + 0x80)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x80)" (( "(") (binary_expression "param_5 + 0x80" (identifier "param_5") (+ "+") (number_literal "0x80")) () ")"))))) (; ";")) (expression_statement "*puVar2 = uVar1;" (assignment_expression "*puVar2 = uVar1" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "piVar6 = (int *)(iVar4 + uVar1);" (assignment_expression "piVar6 = (int *)(iVar4 + uVar1)" (identifier "piVar6") (= "=") (cast_expression "(int *)(iVar4 + uVar1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + uVar1)" (( "(") (binary_expression "iVar4 + uVar1" (identifier "iVar4") (+ "+") (identifier "uVar1")) () ")")))) (; ";")) (expression_statement "*(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;" (assignment_expression "*(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8" (pointer_expression "*(int *)(param_1 + 0x70)" (* "*") (cast_expression "(int *)(param_1 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (= "=") (binary_expression "*(int *)(param_1 + 0x70) + 8" (pointer_expression "*(int *)(param_1 + 0x70)" (* "*") (cast_expression "(int *)(param_1 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x70)" (( "(") (binary_expression "param_1 + 0x70" (identifier "param_1") (+ "+") (number_literal "0x70")) () ")")))) (+ "+") (number_literal "8"))) (; ";")) (expression_statement "*piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;" (assignment_expression "*piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (pointer_expression "*piVar6" (* "*") (identifier "piVar6")) (= "=") (binary_expression "(((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +\n              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10)" (( "(") (binary_expression "(param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10" (binary_expression "(param_4 >> 0x10) << 0x18" (parenthesized_expression "(param_4 >> 0x10)" (( "(") (binary_expression "param_4 >> 0x10" (identifier "param_4") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(param_4 >> 0x18) << 0x10" (parenthesized_expression "(param_4 >> 0x18)" (( "(") (binary_expression "param_4 >> 0x18" (identifier "param_4") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff)" (( "(") (binary_expression "(param_4 & 0xff) << 8 | param_4 >> 8 & 0xff" (binary_expression "(param_4 & 0xff) << 8" (parenthesized_expression "(param_4 & 0xff)" (( "(") (binary_expression "param_4 & 0xff" (identifier "param_4") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "param_4 >> 8 & 0xff" (binary_expression "param_4 >> 8" (identifier "param_4") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (expression_statement "piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;" (assignment_expression "piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (subscript_expression "piVar6[1]" (identifier "piVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +\n                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10)" (( "(") (binary_expression "(param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10" (binary_expression "(param_3 >> 0x10) << 0x18" (parenthesized_expression "(param_3 >> 0x10)" (( "(") (binary_expression "param_3 >> 0x10" (identifier "param_3") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(param_3 >> 0x18) << 0x10" (parenthesized_expression "(param_3 >> 0x18)" (( "(") (binary_expression "param_3 >> 0x18" (identifier "param_3") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff)" (( "(") (binary_expression "(param_3 & 0xff) << 8 | param_3 >> 8 & 0xff" (binary_expression "(param_3 & 0xff) << 8" (parenthesized_expression "(param_3 & 0xff)" (( "(") (binary_expression "param_3 & 0xff" (identifier "param_3") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "param_3 >> 8 & 0xff" (binary_expression "param_3 >> 8" (identifier "param_3") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}"))) (expression_statement "uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0);" (assignment_expression "uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" (identifier "uVar1") (= "=") (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,\n                     PTR_s__s_004c1a50 + -0x37c0)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3588")) (, ",") (number_literal "0x1871") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x37c0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x37c0")) () ")")))) (; ";")) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section_headers": ignoring overlapping field "layout_" */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Output_reduced_debug_abbrev_section": ignoring overlapping field "data_" */
/* WARNING: Struct "Output_reduced_debug_info_section": ignoring overlapping field "data_" */
/* DWARF original prototype: uint get_got_page_offset(Mips_got_info<64,_false> * this, Mips_address
   value, Mips_output_data_got<64,_false> * got) */

type_1 __thiscall
anon_unknown.dwarf_29466b::var_1<64,var_11>::var_33
          (var_1<64,var_11> *this,Mips_address value,var_2<64,var_11> *got)

{
  bool bVar1;
  type_2 var_62;
  type_1 var_3;
  type_1 *var_59;
  int *piVar5;
  type_1 var_21;
  type_3 *var_54;
  type_4 uVar8;
  int var_46;
  type_5 var_73;
  type_3 *var_7;
  int var_9;
  type_1 var_25;
  type_6 **var_26;
  int var_28;
  type_1 var_40;
  type_3 *var_55;
  type_3 *var_53;
  int var_48;
  var_1<64,var_11> *pMVar18;
  var_1<64,var_11> *var_32;
  int var_35;
  type_1 *var_65;
  type_3 *var_51;
  type_7 p_Var22;
  var_2<64,var_11> *pMVar23;
  var_2<64,var_11> *var_20;
  var_2<64,var_11> *var_27;
  int var_43;
  type_1 var_58;
  type_1 var_10;
  type_8 *var_19;
  int var_38;
  type_3 *var_56;
  int var_47;
  type_9 __code;
  type_3 *var_6;
  type_6 *var_30;
  type_1 *var_57;
  type_7 var_5;
  type_1 var_23;
  type_7 var_8;
  var_2<64,var_11> *var_24;
  type_1 var_16;
  type_5 var_36;
  type_1 var_37;
  int *unaff_s1;
  type_1 *var_61;
  type_10 *var_52;
  int var_45;
  type_1 var_15;
  type_8 *var_14;
  type_10 *var_31;
  type_11 var_50;
  type_12 uVar46;
  type_13 *apuStack_168 [2];
  type_13 var_74 [16];
  type_4 uStack_150;
  type_4 uStack_14c;
  type_4 uStack_148;
  type_12 uStack_140;
  type_1 uStack_138;
  type_1 uStack_134;
  type_1 uStack_130;
  type_4 *puStack_128;
  type_1 var_44;
  type_1 var_67;
  type_1 *var_49;
  type_1 uStack_118;
  type_1 uStack_114;
  type_1 var_64;
  type_4 uStack_10c;
  type_3 *var_42;
  type_1 *var_60;
  type_1 var_68;
  type_1 uStack_fc;
  int var_71;
  type_3 *var_70;
  int var_63;
  type_1 var_66;
  int iStack_e8;
  type_1 *puStack_e4;
  int iStack_e0;
  type_1 var_72;
  type_3 *var_69;
  int iStack_d4;
  type_1 uStack_a0;
  var_2<64,var_11> *pMStack_9c;
  type_1 uStack_98;
  int iStack_94;
  var_1<64,var_11> *pMStack_90;
  type_1 uStack_8c;
  type_1 uStack_88;
  type_1 var_39;
  type_4 *var_41;
  type_1 var_22;
  type_13 local_20 [3];
  char var_17;
  int var_18;
  int var_29;
  
  var_3 = (this->got_page_offsets_)._M_h._M_bucket_count;
  if (var_3 == 0) {
    var_4(7);
  }
  var_5 = (this->got_page_offsets_)._M_h._M_buckets[(type_1)var_6 % var_3];
  if (var_5 != (type_7)0x0) {
    var_7 = var_5->_M_nxt[1]._M_nxt;
    var_8 = var_5->_M_nxt;
    do {
      p_Var22 = var_8;
      if (var_6 == var_7) {
        if (var_5->_M_nxt != (type_3 *)0x0) {
          return (type_1)var_5->_M_nxt[2]._M_nxt;
        }
        break;
      }
      var_8 = p_Var22->_M_nxt;
      if (var_8 == (type_3 *)0x0) break;
      var_7 = var_8[1]._M_nxt;
      if (var_3 == 0) {
        var_4(7);
      }
      var_5 = p_Var22;
    } while ((type_1)var_6 % var_3 == (type_1)var_7 % var_3);
  }
  var_3 = this->got_page_offset_next_;
  if (var_3 < this->page_gotno_ * 8 + this->got_page_offset_start_) {
    var_59 = (type_1 *)(*(type_10 *)PTR_operator___004c1cb0)(&this->got_page_offsets_,local_20);
    var_9 = *(int *)(value._0_4_ + 0x80);
    *var_59 = var_3;
    piVar5 = (int *)(var_9 + var_3);
    this->got_page_offset_next_ = this->got_page_offset_next_ + 8;
    *piVar5 = ((((type_1)var_6 >> 0x10) << 0x18 | ((type_1)var_6 >> 0x18) << 0x10) >> 0x10) +
              (((type_1)var_6 & 0xff) << 8 | (type_1)var_6 >> 8 & 0xff) * 0x10000;
    piVar5[1] = (((var_10 >> 0x10) << 0x18 | (var_10 >> 0x18) << 0x10) >> 0x10) +
                ((var_10 & 0xff) << 8 | var_10 >> 8 & 0xff) * 0x10000;
    return var_3;
  }
  pMVar23 = (var_2<64,var_11> *)0x1871;
  var_19 = var_12 + -0x37c0;
  pMVar18 = (var_1<64,var_11> *)(var_13 + 0x3588);
  var_7 = var_6;
  var_14 = PTR_do_gold_unreachable_004c1a30;
  (*(type_10 *)PTR_do_gold_unreachable_004c1a30)();
  var_59 = (type_1 *)(var_14 + 0x3c288c);
  var_15 = pMVar18->local_gotno_;
  var_16 = ((var_15 >> 0x10) << 0x18 | (var_15 >> 0x18) << 0x10) >> 0x10;
  var_37 = var_16 + ((var_15 & 0xff) << 8 | var_15 >> 8 & 0xff) * 0x10000;
  got_00 = (var_2<64,var_11> *)
           &gold::Position_dependent_options::default_options_.relax_.user_set_via_option;
  if (var_17 != '\0') {
    var_7 = (type_3 *)(var_16 * 0x10000);
    var_20 = (var_2<64,var_11> *)0x0;
    var_22 = (int)&var_7->_M_nxt + var_18;
  }
  var_16 = *(type_1 *)(var_19 + 8);
  if ((var_16 & 1) == 0) {
    var_32 = *(var_1<64,var_11> **)(var_14 + 0x3ba8c8);
    if ((int)(var_16 << 0x1b) < 0) {
      var_32 = *(var_1<64,var_11> **)(var_19 + 0x10);
      var_21 = var_32->page_gotno_;
      if ((var_20 == (var_2<64,var_11> *)0x0) &&
         (var_23 = var_21 + var_22, var_22 < 0xffffff00)) {
        var_22 = 0;
        var_21 = var_23;
      }
      var_23 = var_32->tls_ldm_offset_;
      if (var_23 == 0) {
        var_4(7);
      }
      var_24 = *(var_2<64,var_11> **)(var_32->tls_gotno_ + (var_21 % var_23) * 4);
      var_31 = *(type_10 **)(var_14 + 0x3bb19c);
      if (var_24 != (var_2<64,var_11> *)0x0) {
        var_27 = (var_2<64,var_11> *)
                  (var_24->super_Output_data_got<64,var_11>).super_Output_data_got_base.
                  super_Output_section_data_build.super_Output_section_data.super_Output_data.
                  _vptr_Output_data;
        var_25 = *(type_1 *)&(var_27->super_Output_data_got<64,var_11>).super_Output_data_got_base.
                           super_Output_section_data_build.super_Output_section_data.
                           super_Output_data.address_;
        do {
          var_20 = var_27;
          if (var_21 == var_25) {
            var_26 = (var_24->super_Output_data_got<64,var_11>).super_Output_data_got_base.
                       super_Output_section_data_build.super_Output_section_data.super_Output_data.
                       _vptr_Output_data;
            var_31 = *(type_10 **)(var_14 + 0x3bb19c);
            if (var_26 != (type_6 **)0x0) {
              var_30 = var_26[5] + var_22;
              goto LAB_00106ac4;
            }
            break;
          }
          var_27 = (var_2<64,var_11> *)
                    (var_20->super_Output_data_got<64,var_11>).super_Output_data_got_base.
                    super_Output_section_data_build.super_Output_section_data.super_Output_data.
                    _vptr_Output_data;
          if (var_27 == (var_2<64,var_11> *)0x0) {
            var_31 = *(type_10 **)(var_14 + 0x3bb19c);
            break;
          }
          var_25 = *(type_1 *)&(var_27->super_Output_data_got<64,var_11>).super_Output_data_got_base.
                             super_Output_section_data_build.super_Output_section_data.
                             super_Output_data.address_;
          if (var_23 == 0) {
            var_4(7);
          }
          var_31 = *(type_10 **)(var_14 + 0x3bb19c);
          var_24 = var_20;
        } while (var_21 % var_23 == var_25 % var_23);
      }
      var_20 = pMVar23;
      (*var_31)(var_32,pMVar23,var_16 >> 5);
      var_30 = (type_6 *)(var_22 + var_28);
      var_39 = var_21;
      goto LAB_00106ac4;
    }
  }
  else {
    var_30 = (type_6 *)(var_22 + *(int *)(var_19 + 0x14));
    var_32 = pMVar18;
LAB_00106ac4:
    var_9 = *(int *)(var_29 + 0x14);
    var_7 = (type_3 *)((type_1)(var_30 + 0x8000) & 0xffff0000);
    if (var_9 == 0) {
LAB_00106c58:
      var_31 = (type_10 *)(*(int *)(var_14 + 0x3bb098) + 0x4fe0);
      (*var_31)();
LAB_00106c68:
      (*(var_31 + 0x7664))();
    }
    else {
      if (*(int *)(var_9 + 0x8c) == 0) {
        var_32 = *(var_1<64,var_11> **)(var_9 + 0x88);
      }
      else {
        var_32 = *(var_1<64,var_11> **)
                   ((int)&pMVar23[3].super_Output_data_got<64,var_11>.super_Output_data_got_base.
                          super_Output_section_data_build.super_Output_section_data.
                          super_Output_data.offset_ + 4);
      }
      if (var_32 != (var_1<64,var_11> *)0x0) {
        var_16 = var_33(var_32,var_34(var_9,var_39),var_20);
        var_9 = *(int *)(var_29 + 0x14);
        if (var_9 == 0) goto LAB_00106c58;
        var_32 = *(var_1<64,var_11> **)(var_9 + 0x20);
        var_31 = *(type_10 **)(var_14 + 0x3bb098);
        if ((int)var_32 < 0) {
          var_35 = *(int *)(*(int *)(var_9 + 0x68) + 0x18);
          var_16 = var_16 + *(int *)(var_9 + 0xc);
          if (var_35 != 0) {
            var_9 = *(int *)(*(int *)(var_9 + 0x68) + 0x14);
            var_35 = *(int *)(var_35 + 0x34);
            if (((var_9 != 0) && (*(int *)(var_9 + 0x8c) != 0)) &&
               (var_9 = (int)pMVar23[3].super_Output_data_got<64,var_11>.super_Output_data_got_base
                              .super_Output_section_data_build.super_Output_section_data.
                              super_Output_data.offset_, var_9 != 0)) {
              var_35 = var_35 + *(int *)(var_9 + 0x98);
            }
            var_16 = var_16 - var_35;
          }
          if (var_36 == 0) {
            var_37 = var_37 ^ var_16;
            pMVar18->local_gotno_ =
                 ((var_37 & 0xff) << 8 | (var_37 & 0xffff) >> 8) * 0x10000 ^ var_15;
            var_3 = 1;
            if ((type_1)(var_16 + 0x8000 < var_16) + ((int)var_16 >> 0x1f) == 0) {
              var_3 = (type_1)(0xffff < var_16 + 0x8000);
            }
            return var_3;
          }
          *unaff_s1 = (int)var_16 >> 0x1f;
          unaff_s1[1] = var_16;
          return 0;
        }
        goto LAB_00106c68;
      }
    }
    (*(type_10 *)(*(int *)(var_14 + 0x3bb110) + -0x6d7c))();
  }
  var_35 = 0x6ab;
  var_31 = *(type_10 **)(var_14 + 0x3bb07c);
  var_38 = *(int *)(var_14 + 0x3bb09c) + -0x33e0;
  var_65 = &var_32[0x71].index_;
  (*var_31)();
  var_9 = *(int *)(var_35 + 0x10);
  var_21 = *(type_1 *)(var_9 + 0x20);
  var_16 = *(type_1 *)(var_9 + 0x24);
  var_25 = *(type_1 *)(var_9 + 0x38);
  var_23 = *(type_1 *)(var_9 + 0x3c);
  iStack_94 = var_29;
  var_64 = var_3;
  uStack_fc = var_10;
  uStack_a0 = var_37;
  pMStack_9c = pMVar23;
  uStack_98 = (type_1)var_36;
  pMStack_90 = pMVar18;
  uStack_8c = var_15;
  uStack_88 = var_22;
  (**(type_10 **)(var_31 + 0x3bb018))
            ((((var_16 >> 0x10) << 0x18 | (var_16 >> 0x18) << 0x10) >> 0x10) +
             ((var_16 & 0xff) << 8 | var_16 >> 8 & 0xff) * 0x10000,
             (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
             ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000,
             (((var_23 >> 0x10) << 0x18 | (var_23 >> 0x18) << 0x10) >> 0x10) +
             ((var_23 & 0xff) << 8 | var_23 >> 8 & 0xff) * 0x10000,
             (((var_25 >> 0x10) << 0x18 | (var_25 >> 0x18) << 0x10) >> 0x10) +
             ((var_25 & 0xff) << 8 | var_25 >> 8 & 0xff) * 0x10000);
  var_16 = *(type_1 *)(var_14 + 0x3c2894);
  var_15 = *var_59;
  var_37 = *(type_1 *)(var_14 + 0x3c2890);
  var_3 = (type_1)(type_5)var_14[0x3c289b];
  var_42 = (type_3 *)
                ((((var_16 >> 0x10) << 0x18 | (var_16 >> 0x18) << 0x10) >> 0x10) +
                ((var_16 & 0xff) << 8 | var_16 >> 8 & 0xff) * 0x10000);
  var_67 = var_3;
  var_56 = (type_3 *)
            ((((var_37 >> 0x10) << 0x18 | (var_37 >> 0x18) << 0x10) >> 0x10) +
            ((var_37 & 0xff) << 8 | var_37 >> 8 & 0xff) * 0x10000);
  var_71 = (((var_15 >> 0x10) << 0x18 | (var_15 >> 0x18) << 0x10) >> 0x10) +
              ((var_15 & 0xff) << 8 | var_15 >> 8 & 0xff) * 0x10000;
  var_70 = var_56;
  if (var_38 == 4) {
    var_21 = *(type_1 *)(var_14 + 0x3c289c);
    var_15 = *(type_1 *)(var_14 + 0x3c28a0);
    var_16 = (type_1)(type_5)var_14[0x3c289a];
    var_37 = (type_1)(type_5)var_14[0x3c2899];
    var_66 = (type_1)(type_5)var_14[0x3c2898];
    uStack_114 = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
                 ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
    uStack_118 = (((var_15 >> 0x10) << 0x18 | (var_15 >> 0x18) << 0x10) >> 0x10) +
                 ((var_15 & 0xff) << 8 | var_15 >> 8 & 0xff) * 0x10000;
    if (var_39 + 1 < var_40) {
      var_21 = *(type_1 *)(var_14 + 0x3c28a4);
      var_15 = *(type_1 *)(var_14 + 0x3c28a8);
      var_72 = (type_1)(type_5)var_14[0x3c28b3];
      iStack_d4 = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
                  ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
      var_69 = (type_3 *)
                   ((((var_15 >> 0x10) << 0x18 | (var_15 >> 0x18) << 0x10) >> 0x10) +
                   ((var_15 & 0xff) << 8 | var_15 >> 8 & 0xff) * 0x10000);
    }
    else {
      var_72 = 0;
      var_69 = (type_3 *)0xffffffff;
      iStack_d4 = -1;
    }
LAB_00106dbc:
    var_9 = *(int *)(var_35 + 8);
    if (var_41 != (type_4 *)0x0) goto LAB_00106dec;
LAB_00107020:
    uStack_140._4_4_ = (type_3 *)0x0;
    uStack_140._0_4_ = 0;
    uVar46 = 0;
    uStack_140 = 0;
    uStack_148 = 1;
    uStack_14c = 0xffffffff;
    uStack_150 = 0;
    if ((type_3 *)
        ((*(int *)(var_9 + 0x154) - *(int *)(var_9 + 0x14c)) * 8 +
        (*(int *)(var_9 + 0x158) - *(int *)(var_9 + 0x150))) <= var_42) goto LAB_0010b000;
    var_15 = 1 << ((type_1)var_42 & 0x1f);
    var_43 = ((type_1)var_42 >> 5) * 4;
    var_44 = *(type_1 *)(*(int *)(var_9 + 0x14c) + var_43);
    if ((type_3 *)
        ((*(int *)(var_9 + 0x168) - *(int *)(var_9 + 0x160)) * 8 +
        (*(int *)(var_9 + 0x16c) - *(int *)(var_9 + 0x164))) <= var_42) goto LAB_0010afdc;
    var_21 = *(type_1 *)(*(int *)(var_9 + 0x160) + var_43);
    bVar1 = ((var_44 | var_21) & var_15) == 0;
    var_59 = (type_1 *)(type_1)((var_15 & var_21) != 0);
    if (bVar1) {
      var_60 = (type_1 *)0x0;
      var_49 = (type_1 *)0x0;
      puStack_128 = &uStack_150;
    }
    else {
      puStack_128 = &uStack_150;
      uStack_140 = (**(type_10 **)(var_31 + 0x3baf38))(var_6,var_9,0,1);
      puStack_128 = &uStack_150;
      var_15 = var_15 & var_44;
      var_49 = (type_1 *)(type_1)(var_15 != 0);
      var_60 = (type_1 *)0x1;
    }
    var_60 = (type_1 *)(type_1)!bVar1;
    if (var_3 == 100) {
      var_45 = *(int *)(var_9 + 0x1dc);
      var_47 = var_9 + 0x1d8;
      var_43 = var_45;
      var_48 = var_47;
      if (var_45 != 0) {
        do {
          if (*(type_3 **)(var_43 + 0x10) < var_42) {
            var_46 = *(int *)(var_43 + 0xc);
          }
          else {
            var_46 = *(int *)(var_43 + 8);
            var_48 = var_43;
          }
          var_43 = var_46;
        } while (var_46 != 0);
        if (((var_47 == var_48) || (var_42 < *(type_3 **)(var_48 + 0x10))) ||
           ((*(int *)(var_48 + 0x14) == 0 || (var_43 = var_47, var_49 != (type_1 *)0x0))))
        goto LAB_001093fc;
        do {
          var_48 = var_45;
          if (*(type_3 **)(var_48 + 0x10) < var_42) {
            var_45 = *(int *)(var_48 + 0xc);
            var_48 = var_43;
          }
          else {
            var_45 = *(int *)(var_48 + 8);
          }
          var_43 = var_48;
        } while (var_45 != 0);
        var_43 = *(int *)(var_31 + 0x3bae28);
        if (var_47 == var_48) goto LAB_001091e0;
        var_52 = (type_10 *)(var_43 + 9000);
        if (var_42 < *(type_3 **)(var_48 + 0x10)) goto LAB_001091e4;
        goto LAB_001091dc;
      }
      goto LAB_001093fc;
    }
    var_43 = *(int *)(var_9 + 0x1c4);
    var_45 = var_9 + 0x1c0;
    if (*(int *)(var_9 + 0x1c4) != 0) {
      do {
        while (var_48 = var_43, *(type_3 **)(var_48 + 0x10) < var_42) {
          piVar5 = (int *)(var_48 + 0xc);
          var_43 = *piVar5;
          var_48 = var_45;
          if (*piVar5 == 0) goto LAB_00107154;
        }
        var_43 = *(int *)(var_48 + 8);
        var_45 = var_48;
      } while (*(int *)(var_48 + 8) != 0);
LAB_00107154:
      if (((var_9 + 0x1c0 == var_48) || (var_42 < *(type_3 **)(var_48 + 0x10))) ||
         (var_56 = var_42, *(int *)(var_48 + 0x14) == 0)) goto LAB_00107170;
      goto LAB_00106f1c;
    }
LAB_00107170:
    uVar46 = uStack_140;
    if (var_3 != 0x85) goto LAB_00107248;
LAB_00107178:
    if (var_49 == (type_1 *)0x0) goto LAB_00107184;
    goto LAB_0010725c;
  }
  if (var_40 <= var_39 + 1) {
    var_72 = 0;
    var_37 = 0;
    uStack_118 = 0;
    var_16 = 0;
    var_69 = (type_3 *)0xffffffff;
    iStack_d4 = -1;
    uStack_114 = 0;
    var_66 = 0;
    goto LAB_00106dbc;
  }
  var_15 = *(type_1 *)(var_14 + 0x3c28a0);
  var_21 = *(type_1 *)(var_14 + 0x3c289c);
  var_37 = 0;
  var_16 = 0;
  uStack_118 = 0;
  uStack_114 = 0;
  var_72 = (type_1)(type_5)var_14[0x3c28ab];
  var_66 = 0;
  var_69 = (type_3 *)
               ((((var_15 >> 0x10) << 0x18 | (var_15 >> 0x18) << 0x10) >> 0x10) +
               ((var_15 & 0xff) << 8 | var_15 >> 8 & 0xff) * 0x10000);
  iStack_d4 = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
              ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
  var_9 = *(int *)(var_35 + 8);
  if (var_41 == (type_4 *)0x0) goto LAB_00107020;
LAB_00106dec:
  uStack_140._4_4_ = (type_3 *)0x0;
  uStack_140._0_4_ = 0;
  uStack_148 = 1;
  uStack_14c = 0xffffffff;
  uStack_150 = 0;
  var_21 = (type_1)(var_41[10] << 10) >> 0x1a;
  var_23 = var_21 & 0x3c;
  var_15 = var_23 ^ 0x3c;
  var_21 = var_21 & 0x30;
  var_49 = (type_1 *)(type_1)(var_15 == 0);
  var_61 = (type_1 *)(type_1)(var_21 == 0x20);
  if (var_23 == 0x3c) {
    var_52 = *(type_10 **)(var_31 + 0x3baf38);
LAB_001076b4:
    puStack_128 = &uStack_150;
    var_56 = (type_3 *)0x0;
    var_50 = (*var_52)(var_6,var_9,0,0);
    if (var_50 == 0) goto LAB_00106e24;
    puStack_128 = &uStack_150;
    var_56 = (type_3 *)0x0;
    uVar46 = (*var_52)(var_6,var_9,0,0);
    uStack_140._0_4_ = (int)((type_14)uVar46 >> 0x20);
    uStack_140._4_4_ = (type_3 *)((type_1)uVar46 | 1);
    var_60 = (type_1 *)0x1;
  }
  else {
    var_52 = *(type_10 **)(var_31 + 0x3baf38);
    if (var_21 == 0x20) goto LAB_001076b4;
LAB_00106e24:
    var_60 = (type_1 *)0x0;
  }
  puStack_128 = &uStack_150;
  var_43 = 0;
  if (var_3 - 1 < 0xf9) {
    var_43 = (int)*(char *)((var_3 - 1) + *(int *)(var_31 + 0x3badb4) + -0x56e8);
  }
  var_43 = (**(type_10 **)(var_31 + 0x3bb01c))(var_41,var_43);
  uVar46 = var_34(uStack_140._0_4_,uStack_140._4_4_);
  var_59 = var_61;
  if (var_43 == 0) {
    var_43 = *(int *)(var_31 + 0x3ba5e0);
    if (*(char *)((int)var_41 + 0x5d) != '\0') {
LAB_00106e70:
      var_51 = var_7[0x18]._M_nxt;
      if (var_51 == (type_3 *)0x0) {
        var_52 = (type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4f44);
        (*var_52)();
      }
      else {
        var_52 = *(type_10 **)(var_31 + 0x3badb0);
        if ((int)var_51[8]._M_nxt < 0) {
          uStack_140._4_4_ =
               (type_3 *)
               ((int)&(var_51[3]._M_nxt)->_M_nxt +
               (int)&((type_3 *)var_41[0x13])->_M_nxt);
          uStack_140._0_4_ =
               (int)&(var_51[2]._M_nxt)->_M_nxt +
               (type_1)(uStack_140._4_4_ < (type_3 *)var_41[0x13]);
          goto LAB_00106ea4;
        }
      }
      var_52 = var_52 + 0x7664;
      (*var_52)();
LAB_0010ae48:
      (*(var_52 + 0x4fac))();
      goto LAB_0010ae54;
    }
  }
  else {
    if (*(char *)((int)var_41 + 0x5d) != '\0') goto LAB_00106e70;
    var_51 = var_7[7]._M_nxt;
    if (var_41[0x18] == -1) {
      var_52 = *(type_10 **)(var_31 + 0x3badb0);
      if (var_51 == (type_3 *)0x0) goto LAB_0010aeb4;
      var_56 = *(type_3 **)(var_31 + 0x3badb4);
      if (var_41[0x19] == -1) goto LAB_0010ae9c;
      var_52 = *(type_10 **)(var_31 + 0x3badb0);
      if (-1 < (int)var_51[8]._M_nxt) goto LAB_0010ae90;
      var_56 = var_51[3]._M_nxt;
      var_55 = (type_3 *)((int)&var_56->_M_nxt + 1);
      var_54 = (type_3 *)
               ((int)&(var_51[0x13]._M_nxt)->_M_nxt + (int)&(var_51[0x11]._M_nxt)->_M_nxt);
      var_57 = (type_1 *)(type_1)*(type_5 *)&var_7[3]._M_nxt;
      var_53 = (type_3 *)((int)&var_55->_M_nxt + (int)&var_54->_M_nxt);
      uStack_140._4_4_ = (type_3 *)((int)&var_53->_M_nxt + var_41[0x19]);
      uStack_140._0_4_ =
           (int)&(var_51[2]._M_nxt)->_M_nxt +
           (type_1)(uStack_140._4_4_ < var_53) + (type_1)(var_53 < var_54) + (type_1)(var_55 < var_56)
      ;
      if (var_57 == (type_1 *)0x0) goto LAB_0010ae80;
      var_59 = var_57;
      if (((type_1)var_7[2]._M_nxt & 0x2000000) == 0) {
        var_59 = var_61;
        var_49 = var_57;
      }
    }
    else {
      var_52 = *(type_10 **)(var_31 + 0x3badb0);
      if (var_51 == (type_3 *)0x0) goto LAB_0010ae48;
      var_59 = (type_1 *)0x0;
      if (-1 < (int)var_51[8]._M_nxt) {
        var_43 = (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x7664))();
        goto LAB_0010ae1c;
      }
      var_49 = (type_1 *)0x0;
      var_54 = (type_3 *)
               ((int)&(var_51[3]._M_nxt)->_M_nxt + (int)&(var_51[0x13]._M_nxt)->_M_nxt);
      uStack_140._4_4_ = (type_3 *)((int)&var_54->_M_nxt + var_41[0x18]);
      var_56 = (type_3 *)
                ((int)&(var_51[2]._M_nxt)->_M_nxt + (type_1)(var_54 < var_51[0x13]._M_nxt));
      uStack_140._0_4_ = (int)&var_56->_M_nxt + (type_1)(uStack_140._4_4_ < var_54);
    }
LAB_00106ea4:
    var_43 = *(int *)(var_31 + 0x3ba5e0);
  }
  var_43 = (**(type_10 **)(var_31 + 0x3bedcc))(*var_41,var_43 + 0x359c);
  if (var_43 == 0) {
    uStack_140 = (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + -100))(var_7,var_9);
  }
  if (var_3 == 100) {
    if (var_41[0x1b] == 0) {
      if (var_41[0x1c] == 0) goto LAB_00107960;
      var_61 = var_49;
      if (var_41[6] == -1) goto LAB_0010afb0;
LAB_001091dc:
      var_43 = *(int *)(var_31 + 0x3bae28);
LAB_001091e0:
      var_52 = (type_10 *)(var_43 + 9000);
    }
    else {
      if ((var_41[6] == -1) && (var_49 != (type_1 *)0x0)) goto LAB_00107960;
      var_43 = *(int *)(var_31 + 0x3bae28);
      if (var_41[0x1c] == 0) goto LAB_001091e0;
      var_52 = (type_10 *)(var_43 + 9000);
      if (1 < *(type_1 *)(var_9 + 0x28)) {
        var_23 = (*(int *)(var_9 + 0x234) - *(int *)(var_9 + 0x22c)) +
                 (*(int *)(var_9 + 0x230) - *(int *)(var_9 + 0x228)) * 8;
        var_21 = 1;
        if (var_23 < 2) goto LAB_0010aedc;
        while (var_58 = var_21 >> 5, var_25 = var_21 & 0x1f, var_21 = var_21 + 1,
              (1 << var_25 & *(type_1 *)(*(int *)(var_9 + 0x228) + var_58 * 4)) == 0) {
          var_43 = *(int *)(var_31 + 0x3bae28);
          if (var_21 == *(type_1 *)(var_9 + 0x28)) goto LAB_001091e0;
          var_43 = *(int *)(var_31 + 0x3badb4);
          if (var_21 == var_23) goto LAB_0010aee0;
        }
        goto LAB_001091dc;
      }
    }
LAB_001091e4:
    uVar46 = (*var_52)();
    var_60 = var_59;
    if (var_59 != (type_1 *)0x0) {
LAB_0010725c:
      var_43 = *(int *)(var_31 + 0x3ba5e0);
      uStack_140 = uVar46;
      goto LAB_00107260;
    }
    var_60 = (type_1 *)0x1;
    uStack_140 = uVar46;
LAB_00107248:
    uVar46 = uStack_140;
    if (var_3 - 0x8b < 3) {
LAB_00107254:
      uStack_140 = uVar46;
      if (var_49 == (type_1 *)0x0) goto LAB_00107930;
      goto LAB_0010725c;
    }
  }
  else {
    if ((var_41[0x1a] == 0) || ((var_3 == 0x67 && (*(char *)(var_41 + 0x10) == '\0')))) {
      var_56 = (type_3 *)var_41[0x11];
      if (var_56 != (type_3 *)0xffffffff) goto LAB_001071a8;
      goto LAB_00107238;
    }
LAB_00106f1c:
    var_45 = *(int *)(var_35 + 0x18);
    var_43 = (*(type_10 *)(*(int *)(var_31 + 0x3bae28) + 0x1b70))(var_9,var_45);
    if ((var_43 == 0) && (var_45 != *(int *)(var_9 + 0x23c))) {
      if (var_41 != (type_4 *)0x0) {
        if (*(char *)(var_41 + 0x10) == '\0') goto LAB_0010ad6c;
        if (var_41[0x11] == -1) {
          uVar46 = (*(type_10 *)(*(int *)(var_31 + 0x3bae28) + 9000))
                             (var_41[0x1a],var_41[0x1a] + 4);
          goto LAB_00107a7c;
        }
        var_56 = var_7[0x14]._M_nxt;
        var_52 = *(type_10 **)(var_31 + 0x3badb0);
        if (var_56 == (type_3 *)0x0) goto LAB_0010af28;
        var_60 = (type_1 *)-((int)var_56[8]._M_nxt >> 0x1f);
        if (var_60 != (type_1 *)0x0) {
          var_51 = (type_3 *)((int)&(var_56[3]._M_nxt)->_M_nxt + var_41[0x11]);
          uStack_140 = var_34((int)&(var_56[2]._M_nxt)->_M_nxt +
                                (type_1)(var_51 < var_56[3]._M_nxt),var_51);
          if (var_3 == 0x85) {
            var_49 = (type_1 *)0x0;
            goto LAB_00107288;
          }
          goto LAB_00107914;
        }
LAB_0010afa0:
        var_61 = (type_1 *)(*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x7664))();
LAB_0010afb0:
        if (var_61 == (type_1 *)0x0) {
          var_52 = (type_10 *)(*(int *)(var_31 + 0x3bae28) + 9000);
          goto LAB_001091e4;
        }
LAB_00107960:
        var_56 = (type_3 *)var_41[0x11];
        if (var_56 == (type_3 *)0xffffffff) {
LAB_00107970:
          if (var_41 == (type_4 *)0x0) goto LAB_001093fc;
          if (var_41[6] == -1) {
            var_52 = *(type_10 **)(var_31 + 0x3bb020);
            if (var_59 == (type_1 *)0x0) goto LAB_0010728c;
            var_43 = *(int *)(var_31 + 0x3ba5e0);
            goto LAB_00107260;
          }
          var_43 = var_41[0x19];
          if (var_43 == -1) goto LAB_001093fc;
          goto LAB_00107990;
        }
LAB_001071a8:
        if (*(int *)(var_9 + 0x1f8) < 0) {
LAB_00107230:
          if (var_3 == 100) goto LAB_00107970;
LAB_00107238:
          if (var_3 != 0x85) goto LAB_00107248;
          uVar46 = uStack_140;
          if (var_41 == (type_4 *)0x0) goto LAB_00107178;
          if (var_41[6] == -1) goto LAB_00107254;
          var_43 = var_41[0x19];
          if (var_43 == -1) goto LAB_00107a28;
LAB_00107990:
          if (var_41[0x18] == -1) goto LAB_00107a28;
          var_51 = var_7[7]._M_nxt;
          var_52 = *(type_10 **)(var_31 + 0x3badb0);
          if (var_51 != (type_3 *)0x0) {
            var_56 = var_7;
            if ((int)var_51[8]._M_nxt < 0) {
              var_56 = (type_3 *)((int)&(var_51[3]._M_nxt)->_M_nxt + 1);
              var_21 = (int)&(var_51[0x13]._M_nxt)->_M_nxt + (int)&(var_51[0x11]._M_nxt)->_M_nxt;
              var_23 = (int)&var_56->_M_nxt + var_21;
              uStack_140 = var_34((int)&(var_51[2]._M_nxt)->_M_nxt +
                                    (type_1)(var_23 + var_43 < var_23) +
                                    (type_1)(var_23 < var_21) + (type_1)(var_56 < var_51[3]._M_nxt),
                                    var_23 + var_43);
              if (*(char *)&var_7[3]._M_nxt == '\0') goto LAB_0010ada8;
              var_15 = (type_1)var_7[2]._M_nxt & 0x2000000;
              var_49 = (type_1 *)(type_1)(var_15 == 0);
              var_59 = (type_1 *)(type_1)(var_15 != 0);
              goto LAB_00107a28;
            }
LAB_0010ae54:
            var_52 = (type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x7664);
            (*var_52)();
          }
          (*(var_52 + 0x4fac))();
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          var_61 = var_59;
          uVar46 = uStack_140;
LAB_0010ae80:
          var_52 = (type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x5a84);
          uStack_140 = uVar46;
          (*var_52)();
          uVar46 = uStack_140;
LAB_0010ae90:
          uStack_140 = uVar46;
          (*(var_52 + 0x7664))();
          uVar46 = uStack_140;
LAB_0010ae9c:
          var_52 = *(type_10 **)(var_31 + 0x3bad94);
          uStack_140 = uVar46;
          (*var_52)(*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x9ed,var_56 + -0xdc5);
          var_59 = var_61;
          uVar46 = uStack_140;
LAB_0010aeb4:
          uStack_140 = uVar46;
          (*(var_52 + 0x4fac))();
          (**(type_10 **)(var_31 + 0x3bad94))
                    (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2f66,
                     *(int *)(var_31 + 0x3badb4) + -0x360c);
LAB_0010aedc:
          var_43 = *(int *)(var_31 + 0x3badb4);
LAB_0010aee0:
          (**(type_10 **)(var_31 + 0x3bad94))
                    (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x723,var_43 + -0x36e0);
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          var_52 = (type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0);
          (*var_52)();
LAB_0010af28:
          (*(var_52 + 0x4f78))();
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          (**(type_10 **)(var_31 + 0x3bad94))
                    (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2f3d,
                     *(int *)(var_31 + 0x3badb4) + -0x360c);
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
          goto LAB_0010afa0;
        }
        var_43 = (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4eb8))(var_3,var_49);
        if (var_43 == 0) goto LAB_00107230;
        var_51 = var_7[0x14]._M_nxt;
        if (var_51 == (type_3 *)0x0) goto LAB_0010ad98;
        if (-1 < (int)var_51[8]._M_nxt) goto LAB_0010ad88;
        var_54 = (type_3 *)((int)&(var_51[3]._M_nxt)->_M_nxt + (int)&var_56->_M_nxt);
        var_43 = (int)&(var_51[2]._M_nxt)->_M_nxt + (type_1)(var_54 < var_56);
        uStack_140 = var_34(var_43,var_54);
        if ((*(type_2 *)(var_41 + 10) & 0x30) == 0x20) {
          var_56 = (type_3 *)((int)&var_54->_M_nxt + 1);
          uStack_140 = var_34((type_1)(var_56 < var_54) + var_43,var_56);
        }
LAB_00107a28:
        if (var_3 == 100) goto LAB_001093fc;
        uVar46 = uStack_140;
        if (var_3 != 0x85) goto LAB_00107248;
        goto LAB_00107254;
      }
      var_43 = *(int *)(var_9 + 0x1c4);
      var_45 = var_9 + 0x1c0;
      if (var_43 == 0) {
LAB_00107a60:
        var_45 = *(int *)(var_31 + 0x3bae28);
      }
      else {
        do {
          var_48 = var_43;
          if (*(type_3 **)(var_48 + 0x10) < var_42) {
            var_43 = *(int *)(var_48 + 0xc);
            var_48 = var_45;
          }
          else {
            var_43 = *(int *)(var_48 + 8);
          }
          var_45 = var_48;
        } while (var_43 != 0);
        var_45 = *(int *)(var_31 + 0x3bae28);
        var_43 = 0;
        if ((var_9 + 0x1c0 != var_48) && (*(type_3 **)(var_48 + 0x10) <= var_42)) {
          var_43 = *(int *)(var_48 + 0x14);
          goto LAB_00107a60;
        }
      }
      uVar46 = (*(type_10 *)(var_45 + 9000))(var_43,var_43 + 4);
LAB_00107a7c:
      uStack_140 = uVar46;
      if (var_3 == 0x85) {
        var_60 = (type_1 *)0x1;
        if (var_41 != (type_4 *)0x0) goto LAB_0010b0c0;
        var_60 = (type_1 *)0x1;
        goto LAB_00107aa0;
      }
LAB_00107914:
      if (2 < var_3 - 0x8b) {
        var_49 = (type_1 *)0x0;
        var_60 = (type_1 *)0x1;
        goto LAB_00107280;
      }
      var_60 = (type_1 *)0x1;
LAB_00107930:
      uVar46 = uStack_140;
      if (var_41 == (type_4 *)0x0) {
LAB_00107184:
        uStack_140 = uVar46;
        if (var_3 == 100) goto LAB_00109418;
        var_49 = (type_1 *)0x0;
        goto LAB_00107428;
      }
      var_49 = (type_1 *)0x0;
      goto LAB_00107288;
    }
    if (var_41 != (type_4 *)0x0) {
      var_56 = (type_3 *)var_41[0x11];
      if (var_56 == (type_3 *)0xffffffff) goto LAB_00107230;
      goto LAB_001071a8;
    }
    if (var_3 != 100) goto LAB_00107238;
LAB_001093fc:
    var_43 = *(int *)(var_31 + 0x3ba5e0);
    if (var_59 == (type_1 *)0x0) {
      if (var_41 == (type_4 *)0x0) {
        if (var_49 != (type_1 *)0x0) goto LAB_00107ac8;
        goto LAB_00109418;
      }
      goto LAB_00107288;
    }
LAB_00107260:
    uVar8 = (**(type_10 **)(var_31 + 0x3bef94))(var_43 + 0x3ba0);
    (**(type_10 **)(var_31 + 0x3bad90))(uVar8);
  }
LAB_00107280:
  uVar46 = uStack_140;
  if (var_41 == (type_4 *)0x0) goto LAB_00107420;
LAB_00107288:
  do {
    var_52 = *(type_10 **)(var_31 + 0x3bb020);
LAB_0010728c:
    var_43 = (*var_52)(var_41);
    uVar46 = uStack_140;
    if (var_43 == 0) {
LAB_00107420:
      if (var_3 == 100) {
        if (var_49 == (type_1 *)0x0) goto LAB_00107aa8;
LAB_00107ac0:
        uStack_140 = uVar46;
        if (var_41 != (type_4 *)0x0) goto LAB_0010729c;
LAB_00107ac8:
        var_49 = (type_1 *)0x0;
        var_44 = (type_1)(var_38 == 9);
        if (var_3 == 0x92) goto LAB_0010921c;
LAB_00107ae4:
        var_63 = 1;
LAB_001072f0:
        uStack_134 = var_16;
        var_68 = var_3 - 100;
        uStack_130 = var_37;
        uStack_138 = var_3;
        if (0xc < var_3 - 100) {
          var_3 = var_3 + 0x7b & 0xff;
          if (var_3 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x00109590. Too many branches */
                    /* WARNING: Treating indirect jump as call */
            var_3 = (*(var_31 +
                      *(int *)(*(int *)(var_31 + 0x3badb4) + -0x6ce0 + var_3 * 4) + 0x3c25a4))();
            return var_3;
          }
          goto LAB_00107380;
        }
        var_62 = (type_2)this->local_gotno_;
        var_16 = (*(type_2 *)&this->local_gotno_ & 0xff) << 8 |
                 (type_1)(*(type_2 *)&this->local_gotno_ >> 8);
        var_15 = (var_62 & 0xff) << 8 | (type_1)(var_62 >> 8);
        if (var_3 == 100) {
          var_68 = 0;
          var_15 = var_16 << 0x10 | var_15;
          goto LAB_0010736c;
        }
      }
      else {
LAB_00107428:
        if (var_3 == 0x85) {
LAB_00107aa0:
          if (var_59 != (type_1 *)0x0) goto LAB_00107ac0;
LAB_00107aa8:
          uStack_140 = uVar46;
          if (var_41 != (type_4 *)0x0) {
            var_49 = (type_1 *)0x1;
            goto LAB_001072a0;
          }
LAB_00109418:
          var_44 = (type_1)(var_38 == 9);
          var_49 = (type_1 *)0x1;
          var_63 = 1;
          goto LAB_001072f0;
        }
        if ((var_3 == 4) || (var_3 == 0x25)) {
          if (var_49 == (type_1 *)0x0) {
            var_49 = var_59;
          }
        }
        else {
          var_49 = (type_1 *)0x0;
        }
        if (var_41 != (type_4 *)0x0) goto LAB_001072a0;
        var_44 = (type_1)(var_38 == 9);
        uStack_140 = uVar46;
        if (var_3 == 0x14) goto LAB_00107468;
        if (var_3 != 0x92) goto LAB_00107ae4;
LAB_0010921c:
        uStack_134 = var_16;
        var_68 = var_3 - 100;
        uStack_130 = var_37;
        var_63 = 1;
        uStack_138 = var_3;
        if ((var_3 == 0x8b) || (var_3 == 0x8c)) goto LAB_00107380;
        var_3 = var_3 + 0x7b & 0xff;
        var_62 = (type_2)this->local_gotno_;
        var_16 = (*(type_2 *)&this->local_gotno_ & 0xff) << 8 |
                 (type_1)(*(type_2 *)&this->local_gotno_ >> 8);
        var_15 = (var_62 & 0xff) << 8 | (type_1)(var_62 >> 8);
        if (var_3 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x00109294. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          var_3 = (*(var_31 +
                    *(int *)(*(int *)(var_31 + 0x3badb4) + -0x6d84 + var_3 * 4) + 0x3c25a4))();
          return var_3;
        }
      }
      var_15 = (var_16 & 0xf800) << 0x10 | (var_15 & 0xffe0) << 0xb | (var_16 & 0x1f) << 0xb |
               var_16 & 0x7e0 | var_15 & 0x1f;
      uStack_130 = var_37;
LAB_0010736c:
      this->local_gotno_ =
           (((var_15 >> 0x10) << 0x18 | (var_15 >> 0x18) << 0x10) >> 0x10) +
           ((var_15 & 0xff) << 8 | var_15 >> 8 & 0xff) * 0x10000;
    }
    else {
LAB_0010729c:
      var_49 = (type_1 *)0x0;
LAB_001072a0:
      uStack_140 = uVar46;
      if (*(char *)(var_41 + 0x17) == '\0') {
        var_63 = (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x5e4))
                              (var_41,var_41[5] != 0,0);
        var_44 = (type_1)(var_38 == 9);
        if (var_3 == 0x14) goto LAB_0010775c;
LAB_001072e4:
        if (var_3 != 0x92) goto LAB_001072f0;
        if (var_63 != 0) goto LAB_0010921c;
        uStack_134 = var_16;
        uStack_130 = var_37;
        var_62 = (type_2)this->local_gotno_;
        var_67 = 0x91;
        uStack_138 = 0x91;
        var_68 = 0x2d;
        var_15 = ((*(type_2 *)&this->local_gotno_ & 0xff) << 8 |
                 (type_1)(*(type_2 *)&this->local_gotno_ >> 8)) << 0x10 |
                 (var_62 & 0xff) << 8 | (type_1)(var_62 >> 8);
        goto LAB_0010736c;
      }
      var_63 = (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x5e4))(var_41,var_41[5] != 0,1)
      ;
      var_44 = (type_1)(var_38 == 9);
      if (var_3 != 0x14) goto LAB_001072e4;
LAB_0010775c:
      if (var_63 == 0) {
        uStack_134 = var_16;
        uStack_130 = var_37;
        var_68 = 0xffffffaf;
        uStack_138 = 0x13;
        var_67 = 0x13;
      }
      else {
LAB_00107468:
        uStack_134 = var_16;
        var_63 = 1;
        uStack_130 = var_37;
        var_68 = 0xffffffb0;
        uStack_138 = var_3;
      }
    }
LAB_00107380:
    var_59 = &uStack_138;
    var_16 = 0;
    uStack_10c = 0;
    puStack_e4 = var_59;
    var_3 = 0;
    iStack_e0 = 0x8000 - var_64;
    iStack_e8 = *(int *)(var_31 + 0x3badb0) + -0x240;
    var_15 = var_67;
    var_37 = uStack_130;
LAB_001073b0:
    if (var_15 == 0) goto LAB_0010748c;
    if (*(char *)(var_65 + 2) != '\0') {
      var_44 = 0;
      uStack_118 = *var_65;
      uStack_114 = var_65[1];
    }
    if (var_3 == 2) goto LAB_0010ade0;
    var_37 = (type_1)(var_59[1] != 0);
    *(bool *)(var_65 + 2) = var_59[1] != 0;
    if (var_3 == 1) {
      if (var_66 == 1) {
        if (var_7[6]._M_nxt == (type_3 *)0x0) goto LAB_00107aec;
        uStack_140 = *(type_12 *)(var_7[6]._M_nxt + 0xc);
      }
      else if (var_66 == 0) {
LAB_00107aec:
        uStack_140 = 0;
      }
      else if (var_66 == 2) {
        uStack_140 = *(type_12 *)(var_9 + 0x1f0);
      }
      else {
        if (var_66 != 3) goto LAB_0010accc;
        uStack_140 = var_34(uStack_fc,var_64);
      }
    }
LAB_001073f4:
    if (var_15 < 0xfa) {
                    /* WARNING: Could not recover jumptable at 0x00107414. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      var_3 = (*(var_31 + *(int *)(*(int *)(var_31 + 0x3badb4) + -0x7358 + var_15 * 4) + 0x3c25a4)
              )();
      return var_3;
    }
    uVar8 = (**(type_10 **)(var_31 + 0x3bef94))(*(int *)(var_31 + 0x3ba5e0) + 0x3ca0);
    (**(type_10 **)(var_31 + 0x3bb024))(var_35,var_39,var_70,var_71,uVar8,var_15);
    var_3 = var_3 + 1;
    var_59 = var_59 + 1;
    if (var_3 != 3) break;
LAB_0010748c:
    if ((var_67 == 4) || (var_67 == 100)) {
      if (var_68 < 0xd) {
        var_21 = this->local_gotno_;
        var_21 = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
                ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
        var_23 = var_21 & 0xffff;
        var_25 = var_21 >> 0x10;
        if (var_67 != 100) goto LAB_00107b0c;
        var_21 = var_21 >> 0xb & 0x3e0 | var_21 * 0x40 >> 0x1b | var_25 & 0xfc00;
        goto switchD_001074ec_caseD_85;
      }
    }
    else if (var_68 < 0xd) {
      var_21 = this->local_gotno_;
      var_21 = (((var_21 >> 0x10) << 0x18 | (var_21 >> 0x18) << 0x10) >> 0x10) +
              ((var_21 & 0xff) << 8 | var_21 >> 8 & 0xff) * 0x10000;
      var_23 = var_21 & 0xffff;
      var_25 = var_21 >> 0x10;
      if (var_67 - 0x85 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x001074ec. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        var_3 = (*(var_31 +
                  *(int *)(*(int *)(var_31 + 0x3badb4) + -0x6f70 + (var_67 - 0x85) * 4) +
                  0x3c25a4))();
        return var_3;
      }
LAB_00107b0c:
      var_21 = (var_21 << 5) >> 0x10;
      var_58 = var_23 & 0x7e0;
      var_23 = var_21 & 0xffe0 | var_23 & 0x1f;
      var_21 = var_25 & 0xf800 | var_58 | var_21 & 0x1f;
switchD_001074ec_caseD_85:
      *(type_2 *)((int)&this->local_gotno_ + 2) =
           (type_2)((var_23 & 0xff) << 8) | (type_2)(var_23 >> 8);
      *(type_2 *)&this->local_gotno_ = (type_2)((var_21 & 0xff) << 8) | (type_2)(var_21 >> 8);
    }
    else if (var_67 - 0x85 < 0x29) {
                    /* WARNING: Could not recover jumptable at 0x00107808. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      var_3 = (*(var_31 +
                *(int *)(*(int *)(var_31 + 0x3badb4) + -0x6ecc + (var_67 - 0x85) * 4) +
                0x3c25a4))();
      return var_3;
    }
    if (var_16 != 1) {
      if (var_16 == 0) goto LAB_001075a8;
      if (var_16 != 2) {
        var_52 = *(type_10 **)(var_31 + 0x3bef94);
        if (var_16 == 3) {
          var_9 = *(int *)(var_31 + 0x3ba5e0) + 0x3d7c;
          goto LAB_0010757c;
        }
        (**(type_10 **)(var_31 + 0x3bad94))
                  (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x3035,
                   *(int *)(var_31 + 0x3badb4) + -0x360c);
LAB_0010accc:
        (**(type_10 **)(var_31 + 0x3bad94))
                  (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2e20,
                   *(int *)(var_31 + 0x3badb4) + -0x360c);
        (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
        (**(type_10 **)(var_31 + 0x3bad94))
                  (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x86a,
                   *(int *)(var_31 + 0x3badb4) + -0x3838);
        (*(type_10 *)(*(int *)(var_31 + 0x3bae28) + -0x6d7c))();
        (**(type_10 **)(var_31 + 0x3bad94))
                  (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2eda,
                   *(int *)(var_31 + 0x3badb4) + -0x360c);
        (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
        var_52 = (type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0);
        (*var_52)();
        (*(var_52 + -0x6db0))();
LAB_0010ad6c:
        (**(type_10 **)(var_31 + 0x3bad94))
                  (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2d5f,
                   *(int *)(var_31 + 0x3badb4) + -0x360c);
LAB_0010ad88:
        (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x7664))();
LAB_0010ad98:
        (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4f78))();
LAB_0010ada8:
        (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x5a84))();
        var_52 = *(type_10 **)(var_31 + 0x3bad94);
        (*var_52)(*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2e46,
                   *(int *)(var_31 + 0x3badb4) + -0x360c);
        (*(var_52 + 0x4fe0))();
LAB_0010ade0:
        var_43 = iStack_d4;
        if (var_69 == var_70) {
LAB_0010ae1c:
          if (var_43 != var_71) goto LAB_0010adf0;
          var_37 = (type_1)(var_72 != 0);
        }
        else {
LAB_0010adf0:
          var_37 = 0;
        }
        *(char *)(var_65 + 2) = (char)var_37;
        uStack_140 = 0;
        goto LAB_001073f4;
      }
      var_52 = *(type_10 **)(var_31 + 0x3bef94);
      var_9 = *(int *)(var_31 + 0x3ba5e0) + 0x3d4c;
LAB_0010757c:
      uVar8 = (*var_52)(var_9);
      (**(type_10 **)(var_31 + 0x3bb024))(var_35,var_39,var_70,var_71,uVar8);
      goto LAB_001075a8;
    }
    if (var_41 == (type_4 *)0x0) {
      uVar8 = (**(type_10 **)(var_31 + 0x3bef94))(*(int *)(var_31 + 0x3ba5e0) + 0x3cb8);
      (**(type_10 **)(var_31 + 0x3bb024))
                (var_35,var_39,var_70,var_71,uVar8,var_67,var_42,
                 *(type_4 *)(var_9 + 4));
LAB_001075a8:
      (**(type_10 **)(var_31 + 0x3bb028))(puStack_128);
      return 1;
    }
    var_3 = var_41[10] & 0xe000;
    if (var_3 == 0) {
      if ((int)(var_41[10] << 0x1d) < 0) {
        var_73 = var_41[3] != 0;
      }
      else {
        var_73 = (**(type_10 **)(var_31 + 0x3bb030))();
        var_73 = var_73 ^ 1;
      }
    }
    else {
      var_73 = var_3 != 0x8000;
    }
    if ((var_73 == 0) || ((type_1)(var_41[10] << 0x10) >> 0x1d != 0)) {
      uVar8 = (**(type_10 **)(var_31 + 0x3bef94))(*(int *)(var_31 + 0x3ba5e0) + 0x3cf0);
      (**(type_10 **)(var_31 + 0x3bb02c))(apuStack_168,var_41);
      (**(type_10 **)(var_31 + 0x3bb024))
                (var_35,var_39,var_70,var_71,uVar8,var_67,apuStack_168[0]);
      goto LAB_001078f4;
    }
    var_3 = (**(type_10 **)(var_31 + 0x3bef94))(*(int *)(var_31 + 0x3ba5e0) + 0x3d18);
    (**(type_10 **)(var_31 + 0x3bb02c))(apuStack_168,var_41);
    if ((var_41[10] & 0xe000) == 0) {
      (**(type_10 **)(var_31 + 0x3bb024))
                (var_35,var_39,var_70,var_71,var_3,var_67,apuStack_168[0],
                 *(type_4 *)(var_41[2] + 4));
LAB_001078f4:
      if (apuStack_168[0] != var_74) {
        (**(type_10 **)(var_31 + 0x3ba660))();
      }
      goto LAB_001075a8;
    }
    (**(type_10 **)(var_31 + 0x3bad94))
              (*(int *)(var_31 + 0x3ba5e0) + 0x3860,0xa1,*(int *)(var_31 + 0x3badb4) + -0x3874);
    var_16 = 1;
    uVar46 = uStack_140;
LAB_0010afdc:
    puStack_128 = &uStack_150;
    uStack_140 = uVar46;
    (**(type_10 **)(var_31 + 0x3bad94))
              (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x668,*(int *)(var_31 + 0x3badb4) + -0x3640);
    uVar46 = uStack_140;
LAB_0010b000:
    puStack_128 = &uStack_150;
    uStack_140 = uVar46;
    (**(type_10 **)(var_31 + 0x3bad94))
              (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x65f,*(int *)(var_31 + 0x3badb4) + -0x3624);
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3badb0) + 0x4fe0))();
    (*(type_10 *)(*(int *)(var_31 + 0x3bae28) + -0x6d7c))();
    var_60 = (type_1 *)(**(type_10 **)(var_31 + 0x3bad94))
                                    (*(int *)(var_31 + 0x3ba5e0) + 0x3588,0x2e88,
                                     *(int *)(var_31 + 0x3badb4) + -0x360c);
LAB_0010b0c0:
    var_49 = (type_1 *)0x0;
  } while( true );
  var_15 = *var_59;
  goto LAB_001073b0;
}


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

uint MASKED(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)

{
  uint uVar1;
  uint *puVar2;
  uint uVar3;
  int iVar4;
  int *piVar5;
  int *piVar6;
  int *piVar7;
  uint local_20 [3];
  
  uVar1 = *(uint *)(param_1 + 0x78);
  if (uVar1 == 0) {
    trap(7);
  }
  piVar6 = *(int **)(*(int *)(param_1 + 0x74) + (param_4 % uVar1) * 4);
  if (piVar6 != (int *)0x0) {
    uVar3 = ((int *)*piVar6)[1];
    piVar7 = (int *)*piVar6;
    do {
      piVar5 = piVar7;
      if (param_4 == uVar3) {
        if (*piVar6 != 0) {
          return *(uint *)(*piVar6 + 8);
        }
        break;
      }
      piVar7 = (int *)*piVar5;
      if (piVar7 == (int *)0x0) break;
      uVar3 = piVar7[1];
      if (uVar1 == 0) {
        trap(7);
      }
      piVar6 = piVar5;
    } while (param_4 % uVar1 == uVar3 % uVar1);
  }
  uVar1 = *(uint *)(param_1 + 0x70);
  if (uVar1 < (uint)(*(int *)(param_1 + 4) * 8 + *(int *)(param_1 + 0x6c))) {
    local_20[0] = param_4;
    puVar2 = (uint *)(*(code *)PTR_operator___004c1cb0)(param_1 + 0x74,local_20);
    iVar4 = *(int *)(param_5 + 0x80);
    *puVar2 = uVar1;
    piVar6 = (int *)(iVar4 + uVar1);
    *(int *)(param_1 + 0x70) = *(int *)(param_1 + 0x70) + 8;
    *piVar6 = (((param_4 >> 0x10) << 0x18 | (param_4 >> 0x18) << 0x10) >> 0x10) +
              ((param_4 & 0xff) << 8 | param_4 >> 8 & 0xff) * 0x10000;
    piVar6[1] = (((param_3 >> 0x10) << 0x18 | (param_3 >> 0x18) << 0x10) >> 0x10) +
                ((param_3 & 0xff) << 8 | param_3 >> 8 & 0xff) * 0x10000;
    return uVar1;
  }
  uVar1 = (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,0x1871,
                     PTR_s__s_004c1a50 + -0x37c0);
  return uVar1;
}

