
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* 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 name: override<64, false>
   DWARF original prototype: void override<64,_false>(Symbol_table * this, Sized_symbol<64> * tosym,
   Sym<64,_false> * fromsym, uint st_shndx, bool is_ordinary, Object * object, char * version) */

void __thiscall
gold::Symbol_table::override<64,_false>
          (Symbol_table *this,Sized_symbol<64> *tosym,Sym<64,_false> *fromsym,uint st_shndx,
          bool is_ordinary,Object *object,char *version)

{
  uint uVar1;
  undefined4 *puVar2;
  int *piVar3;
  uint uVar4;
  Sized_symbol<64> *this_00;
  __bucket_type *pp_Var5;
  char *pcVar6;
  _Hash_node_base *p_Var7;
  undefined *puVar8;
  anon_union_4_3_b0f6f408_for_u1_ aVar9;
  int iVar10;
  Compressed_section_map *pCVar11;
  __bucket_type *pp_Var12;
  anon_union_4_3_b582a2bd_for_u2_ aVar13;
  Sized_symbol<64> *this_01;
  undefined4 uVar14;
  Symbol *sym;
  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>
  *this_02;
  anon_union_4_3_b0f6f408_for_u1_ aVar15;
  anon_union_4_3_b0f6f408_for_u1_ aVar16;
  anon_union_4_3_b582a2bd_for_u2_ from;
  int iVar17;
  Symbol *from_00;
  anon_union_4_3_b0f6f408_for_u1_ aVar18;
  _Hash_node_base *p_Var19;
  uint uVar20;
  Object *object_00;
  uint uVar21;
  anon_union_4_3_b582a2bd_for_u2_ unaff_s6;
  unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold::Symbol*_const,_gold::Symbol*>_>_>
  *puVar22;
  Got_offset_list *pGVar23;
  undefined *puVar24;
  code *pcVar25;
  code *pcVar26;
  code *pcVar27;
  undefined1 auStackY_138 [64];
  code *pcStackY_f8;
  anon_union_4_3_b0f6f408_for_u1_ aStackY_f0;
  anon_union_4_3_b0f6f408_for_u1_ aStackY_e8;
  anon_union_4_3_b582a2bd_for_u2_ aStackY_e4;
  uint uStackY_e0;
  uint uStackY_dc;
  Object *pOStackY_d8;
  undefined4 uStackY_d4;
  anon_union_4_3_b582a2bd_for_u2_ aStackY_d0;
  Got_offset_list *pGStackY_cc;
  anon_union_4_3_b582a2bd_for_u2_ *paStackY_c8;
  code *pcStackY_c4;
  anon_union_4_3_b582a2bd_for_u2_ aaStack_a0 [2];
  code *pcStack_98;
  code *pcStack_94;
  code *pcStack_90;
  Sized_symbol<64> *pSStack_88;
  Sym<64,_false> *pSStack_84;
  uint uStack_80;
  uint uStack_7c;
  Object *pOStack_78;
  char *pcStack_74;
  anon_union_4_3_b582a2bd_for_u2_ aStack_70;
  unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold::Symbol*_const,_gold::Symbol*>_>_>
  *puStack_6c;
  anon_union_4_3_b582a2bd_for_u2_ *paStack_68;
  code *pcStack_64;
  Object *pOVar28;
  anon_union_4_3_b582a2bd_for_u2_ local_40 [2];
  code *local_38;
  code *local_34;
  code *local_30;
  
  local_38 = (code *)PTR_override<false>_004c4ff8;
  uVar20 = (uint)is_ordinary;
  uVar4 = uVar20;
  pOVar28 = object;
  object_00 = (Object *)version;
  Sized_symbol<64>::override<false>(tosym,fromsym,st_shndx,is_ordinary,object,version);
  if (-1 < *(int *)&(tosym->super_Symbol).field_0x28 << 0x15) {
    return;
  }
  local_34 = (code *)PTR_operator___004c4ab4;
  puVar22 = &this->weak_aliases_;
  local_40[0] = (anon_union_4_3_b582a2bd_for_u2_)tosym;
  puVar2 = (undefined4 *)(*(code *)PTR_operator___004c4ab4)(puVar22,local_40);
  aVar13.shndx = (uint)&DAT_0000008b;
  if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {
    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);
    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)
               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);
    while( true ) {
      uVar4 = uVar20;
      pOVar28 = object;
      object_00 = (Object *)version;
      (*local_38)(unaff_s6.shndx,fromsym,st_shndx);
      local_40[0] = unaff_s6;
      piVar3 = (int *)(*local_34)(puVar22,local_40);
      if (*piVar3 == 0) break;
      unaff_s6.shndx = (*local_30)();
      if (tosym == unaff_s6) {
        return;
      }
    }
    aVar13.shndx = (uint)&DAT_00000091;
  }
  aVar15.object = (Object *)(PTR_UINT_004c12dc + -0x7294);
  pcVar25 = override<64,_true>;
  puVar8 = PTR_UINT_004c12dc + -0x7758;
  puVar24 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)();
  pcStack_98 = *(code **)(puVar24 + 0x1b69b8);
  pcStack_74 = version;
  pOStack_78 = object;
  uVar21 = 0x4c9240;
  pSStack_88 = tosym;
  pSStack_84 = fromsym;
  uStack_80 = st_shndx;
  uStack_7c = uVar20;
  aStack_70 = unaff_s6;
  puStack_6c = puVar22;
  paStack_68 = local_40;
  pcStack_64 = pcVar25;
  Symbol::override_base<64,_true>
            ((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,
             &Position_dependent_options::default_options_.relax_.user_set_via_option);
  pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;
  aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);
  aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);
  aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);
  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x34) =
       *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);
  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x30) = aVar9;
  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x3c) = aVar18;
  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x38) = aVar16;
  if (-1 < (int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object << 0x15) {
    return;
  }
  pcStack_94 = *(code **)(puVar24 + 0x1b6470);
  pGVar23 = (Got_offset_list *)(puVar8 + 0xb4);
  aaStack_a0[0] = aVar13;
  puVar2 = (undefined4 *)(*pcStack_94)(pGVar23,aaStack_a0);
  aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x8b;
  if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {
    pcStack_90 = (code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700);
    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)
               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);
    while( true ) {
      (*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);
      pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;
      aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);
      aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);
      aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);
      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =
           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);
      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;
      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;
      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;
      aaStack_a0[0] = unaff_s6;
      piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);
      if (*piVar3 == 0) break;
      unaff_s6.shndx = (*pcStack_90)();
      if (aVar13.shndx == unaff_s6.shndx) {
        return;
      }
    }
    aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x91;
  }
  pcVar25 = *(code **)(puVar24 + 0x1b33ec);
  from.shndx = *(int *)(puVar24 + 0x1b2c98) - 0x72c4;
  pcVar26 = override_with_special<32>;
  iVar10 = *(int *)(puVar24 + 0x1b2c98) + -0x7758;
  (*pcVar25)();
  pcStackY_f8 = pcVar25 + 0x1baa40;
  uStackY_d4 = 0x4c9240;
  uVar20 = *(uint *)(pcVar25 + 0x1b6800);
  aStackY_e8 = aVar15;
  aStackY_e4 = aVar13;
  uStackY_e0 = uVar4;
  uStackY_dc = (uint)pOVar28 & 0xff;
  pOStackY_d8 = object_00;
  aStackY_d0 = unaff_s6;
  pGStackY_cc = pGVar23;
  paStackY_c8 = aaStack_a0;
  pcStackY_c4 = pcVar26;
  Symbol::override_base_with_special((Symbol *)aVar9.object,(Symbol *)from);
  uVar4 = (aVar9.object)->shnum_;
  pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);
  (aVar9.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;
  (aVar9.object)->compressed_sections_ = pCVar11;
  if ((int)(uVar4 << 0x15) < 0) {
    pGVar23 = *(Got_offset_list **)(pcStackY_f8 + -0x478c);
    uVar21 = iVar10 + 0xb4;
    unaff_s6.shndx = (uint)&aStackY_f0;
    aStackY_f0 = aVar9;
    puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx);
    uVar14 = 0x457;
    if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {
      object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);
      aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);
      do {
        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);
        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);
        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;
        (aVar15.object)->compressed_sections_ = pCVar11;
        aVar13.shndx = unaff_s6.shndx;
        aStackY_f0 = aVar15;
        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);
        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {
          uVar14 = 0x45d;
          goto LAB_0030e9f0;
        }
        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);
      } while (aVar9.object != aVar15.object);
      uVar4 = (aVar9.object)->shnum_;
      goto LAB_0030e87c;
    }
LAB_0030e9f0:
    pcVar25 = pcStackY_f8;
    iVar17 = *(int *)(pcStackY_f8 + -0x7f64) + -0x72ec;
    (**(code **)(pcStackY_f8 + -0x7810))(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14);
  }
  else {
LAB_0030e87c:
    uVar1 = (uVar4 << 4) >> 0x1c;
    if (uVar1 == 0) {
LAB_0030e904:
      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);
      return;
    }
    if ((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))) {
      return;
    }
    iVar17 = *(int *)(pcStackY_f8 + -0x7f64);
    pcVar25 = pcStackY_f8;
    if (*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0) {
      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {
        return;
      }
      goto LAB_0030e904;
    }
  }
  this_01 = (Sized_symbol<64> *)&DAT_0000005c;
  pcVar26 = *(code **)(pcVar25 + -0x7810);
  from_00 = (Symbol *)(iVar17 + -0x71c4);
  pcVar27 = override_with_special<64>;
  iVar17 = *(int *)(pcVar25 + -0x7fc4) + -0x9b8;
  (*pcVar26)(iVar17);
  auStackY_138._8_4_ = aVar15;
  auStackY_138._12_4_ = from;
  auStackY_138._16_4_ = aVar9;
  auStackY_138._20_4_ = uVar20;
  auStackY_138._24_4_ = object_00;
  auStackY_138._28_4_ = uVar21;
  auStackY_138._32_4_ = unaff_s6;
  auStackY_138._36_4_ = pGVar23;
  auStackY_138._40_4_ = iVar10;
  auStackY_138._44_4_ = pcVar27;
  Symbol::override_base_with_special(&this_01->super_Symbol,from_00);
  iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;
  pcVar6 = from_00[1].name_;
  aVar13 = from_00[1].u2_;
  aVar15 = from_00[1].u1_;
  *(char **)((int)&this_01->value_ + 4) = from_00[1].version_;
  *(char **)&this_01->value_ = pcVar6;
  *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_01->symsize_ + 4) = aVar13;
  *(anon_union_4_3_b0f6f408_for_u1_ *)&this_01->symsize_ = aVar15;
  if (iVar10 << 0x15 < 0) {
    pcVar25 = *(code **)(pcVar26 + 0x1b6094);
    auStackY_138._0_4_ = this_01;
    puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138);
    uVar14 = 0x457;
    if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {
LAB_0030ec30:
      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;
      (**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);
      goto LAB_0030ec48;
    }
    this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457);
    do {
      Symbol::override_base_with_special(&this_00->super_Symbol,from_00);
      pcVar6 = from_00[1].name_;
      aVar13 = from_00[1].u2_;
      aVar15 = from_00[1].u1_;
      *(char **)((int)&this_00->value_ + 4) = from_00[1].version_;
      *(char **)&this_00->value_ = pcVar6;
      *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;
      *(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;
      sym = (Symbol *)auStackY_138;
      auStackY_138._0_4_ = this_00;
      puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);
      if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {
        uVar14 = 0x45d;
        goto LAB_0030ec30;
      }
      this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);
    } while (this_01 != this_00);
    iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;
  }
  uVar4 = (uint)(iVar10 << 4) >> 0x1c;
  if (uVar4 != 0) {
    if (((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&
       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))) {
      iVar10 = *(int *)(pcVar26 + 0x1b28bc);
      if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {
LAB_0030ec48:
        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>
                   *)&DAT_0000005c;
        pcVar25 = *(code **)(pcVar26 + 0x1b3010);
        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);
        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);
        if (this_02 ==
            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>
             *)0x1) {
          pp_Var5 = (__bucket_type *)(puVar2 + 6);
          puVar2[6] = 0;
        }
        else {
          pp_Var5 = std::__detail::
                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>
                    ::_M_allocate_buckets(this_02,(size_t)this_02);
        }
        p_Var7 = (_Hash_node_base *)puVar2[2];
        puVar2[2] = 0;
        if (p_Var7 != (_Hash_node_base *)0x0) {
          uVar4 = 0;
          do {
            while( true ) {
              if (this_02 ==
                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>
                   *)0x0) {
                trap(7);
              }
              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;
              pp_Var12 = pp_Var5 + uVar20;
              p_Var19 = p_Var7->_M_nxt;
              if (*pp_Var12 == (__bucket_type)0x0) break;
              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;
              (*pp_Var12)->_M_nxt = p_Var7;
              uVar20 = uVar4;
LAB_0030ecdc:
              p_Var7 = p_Var19;
              uVar4 = uVar20;
              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;
            }
            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];
            puVar2[2] = p_Var7;
            *pp_Var12 = (__bucket_type)(puVar2 + 2);
            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;
            pp_Var5[uVar4] = p_Var7;
            p_Var7 = p_Var19;
            uVar4 = uVar20;
          } while (p_Var19 != (_Hash_node_base *)0x0);
        }
LAB_0030ed38:
        if (puVar2 + 6 != (undefined4 *)*puVar2) {
          (**(code **)(pcVar25 + 0x1b269c))();
        }
        puVar2[1] = this_02;
        *puVar2 = pp_Var5;
        return;
      }
      if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')
      goto LAB_0030eb34;
    }
    return;
  }
LAB_0030eb34:
  (**(code **)(pcVar26 + 0x1b6004))(iVar17,this_01);
  return;
}



/* void gold::Symbol_table::override<64, false>(gold::Sized_symbol<64>*, elfcpp::Sym<64, false>
   const&, unsigned int, bool, gold::Object*, char const*) */

void __thiscall
gold::Symbol_table::override<64,false>
          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,
          Object *param_5,char *param_6)

{
  int *piVar1;
  int iVar2;
  undefined *puVar3;
  undefined4 uVar4;
  int iVar5;
  Symbol *pSVar6;
  Symbol *this_00;
  Sym *pSVar7;
  undefined4 uVar8;
  Symbol *pSVar9;
  uint uVar10;
  undefined4 uVar11;
  uint uVar12;
  Sized_symbol *unaff_s6;
  Symbol_table *pSVar13;
  undefined *puVar14;
  code *pcVar15;
  code *pcVar16;
  Symbol *apSStackY_f0 [2];
  Sym *pSStackY_e8;
  Symbol *pSStackY_e4;
  uint uStackY_e0;
  uint uStackY_dc;
  Object *pOStackY_d8;
  undefined4 uStackY_d4;
  Sized_symbol *pSStackY_d0;
  undefined *puStackY_cc;
  Sized_symbol **ppSStackY_c8;
  code *pcStackY_c4;
  Sized_symbol *apSStack_a0 [2];
  code *pcStack_98;
  code *pcStack_94;
  code *pcStack_90;
  Sized_symbol *pSStack_88;
  Sym *pSStack_84;
  uint uStack_80;
  uint uStack_7c;
  Object *pOStack_78;
  char *pcStack_74;
  Sized_symbol *pSStack_70;
  Symbol_table *pSStack_6c;
  Sized_symbol **ppSStack_68;
  code *pcStack_64;
  Object *pOVar17;
  Object *pOVar18;
  Sized_symbol *local_40 [2];
  code *local_38;
  code *local_34;
  code *local_30;
  
  local_38 = (code *)PTR_override<false>_004c4ff8;
  uVar12 = (uint)param_4;
  uVar10 = uVar12;
  pOVar17 = param_5;
  pOVar18 = (Object *)param_6;
  Sized_symbol<64>::override<false>
            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);
  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {
    local_34 = (code *)PTR_operator___004c4ab4;
    pSVar13 = this + 0xb4;
    local_40[0] = param_1;
    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);
    pSVar6 = (Symbol *)&DAT_0000008b;
    if (*piVar1 == 0) {
LAB_0030e62c:
      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);
      pcVar15 = override<64,true>;
      puVar3 = PTR_UINT_004c12dc + -0x7758;
      puVar14 = PTR_do_gold_unreachable_004c1a30;
      (*(code *)PTR_do_gold_unreachable_004c1a30)();
      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);
      pcStack_74 = param_6;
      pOStack_78 = param_5;
      pSStack_88 = param_1;
      pSStack_84 = param_2;
      uStack_80 = param_3;
      uStack_7c = uVar12;
      pSStack_70 = unaff_s6;
      pSStack_6c = pSVar13;
      ppSStack_68 = local_40;
      pcStack_64 = pcVar15;
      Symbol::override_base<64,true>
                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,
                 Position_dependent_options::default_options_ + 0x3210);
      iVar2 = *(int *)pSVar7;
      uVar4 = *(undefined4 *)(iVar2 + 8);
      uVar11 = *(undefined4 *)(iVar2 + 0x14);
      uVar8 = *(undefined4 *)(iVar2 + 0x10);
      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);
      *(undefined4 *)(pSVar6 + 0x30) = uVar4;
      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;
      *(undefined4 *)(pSVar6 + 0x38) = uVar8;
      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {
        pcStack_94 = *(code **)(puVar14 + 0x1b6470);
        puVar3 = puVar3 + 0xb4;
        apSStack_a0[0] = (Sized_symbol *)pSVar6;
        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);
        this_00 = (Symbol *)&DAT_0000008b;
        if (*piVar1 == 0) {
LAB_0030e7e8:
          pcVar15 = *(code **)(puVar14 + 0x1b33ec);
          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);
          pcVar16 = override_with_special<32>;
          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;
          (*pcVar15)(iVar5);
          uStackY_d4 = 0x4c9240;
          pSStackY_e8 = pSVar7;
          pSStackY_e4 = pSVar6;
          uStackY_e0 = uVar10;
          uStackY_dc = (uint)pOVar17 & 0xff;
          pOStackY_d8 = pOVar18;
          pSStackY_d0 = unaff_s6;
          puStackY_cc = puVar3;
          ppSStackY_c8 = apSStack_a0;
          pcStackY_c4 = pcVar16;
          Symbol::override_base_with_special(this_00,pSVar9);
          iVar2 = *(int *)(this_00 + 0x28);
          uVar4 = *(undefined4 *)(pSVar9 + 0x34);
          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);
          *(undefined4 *)(this_00 + 0x34) = uVar4;
          if (iVar2 << 0x15 < 0) {
            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);
            apSStackY_f0[0] = this_00;
            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);
            uVar4 = 0x457;
            if (*piVar1 == 0) {
LAB_0030e9f0:
              (**(code **)(pcVar15 + 0x1b3230))
                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,
                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);
              return;
            }
            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);
            do {
              Symbol::override_base_with_special(pSVar6,pSVar9);
              uVar4 = *(undefined4 *)(pSVar9 + 0x34);
              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);
              *(undefined4 *)(pSVar6 + 0x34) = uVar4;
              apSStackY_f0[0] = pSVar6;
              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);
              if (*piVar1 == 0) {
                uVar4 = 0x45d;
                goto LAB_0030e9f0;
              }
              pSVar6 = (Symbol *)FUN_0030c880();
            } while (this_00 != pSVar6);
            iVar2 = *(int *)(this_00 + 0x28);
          }
          uVar10 = (uint)(iVar2 << 4) >> 0x1c;
          if (uVar10 == 0) {
LAB_0030e904:
            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);
            return;
          }
          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&
             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {
            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {
              (**(code **)(pcVar15 + 0x1b3230))
                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,
                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);
              return;
            }
            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')
            goto LAB_0030e904;
          }
          return;
        }
        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);
        unaff_s6 = (Sized_symbol *)FUN_0030c900();
        do {
          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);
          iVar2 = *(int *)pSVar7;
          uVar4 = *(undefined4 *)(iVar2 + 8);
          uVar11 = *(undefined4 *)(iVar2 + 0x14);
          uVar8 = *(undefined4 *)(iVar2 + 0x10);
          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);
          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;
          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;
          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;
          apSStack_a0[0] = unaff_s6;
          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);
          if (*piVar1 == 0) {
            this_00 = (Symbol *)&DAT_00000091;
            goto LAB_0030e7e8;
          }
          unaff_s6 = (Sized_symbol *)(*pcStack_90)();
        } while (pSVar6 != (Symbol *)unaff_s6);
      }
      return;
    }
    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);
    unaff_s6 = (Sized_symbol *)FUN_0030c900();
    do {
      uVar10 = uVar12;
      pOVar17 = param_5;
      pOVar18 = (Object *)param_6;
      (*local_38)(unaff_s6,param_2,param_3);
      local_40[0] = unaff_s6;
      piVar1 = (int *)(*local_34)(pSVar13,local_40);
      if (*piVar1 == 0) {
        pSVar6 = (Symbol *)&DAT_00000091;
        goto LAB_0030e62c;
      }
      unaff_s6 = (Sized_symbol *)(*local_30)();
    } while (param_1 != unaff_s6);
  }
  return;
}


lui gp,0x1c
addiu gp,gp,-0x5290
addu gp,gp,t9
addiu sp,sp,-0x60
lw t9,-0x4248(gp)
sw s5,0x4c(sp)
sw s4,0x48(sp)
sw s3,0x44(sp)
sw s2,0x40(sp)
or s2,a3,zero
sw s1,0x3c(sp)
or s1,a2,zero
sw s0,0x38(sp)
or s0,a1,zero
sw gp,0x18(sp)
or a2,s2,zero
sw s7,0x54(sp)
or a1,s1,zero
sw ra,0x5c(sp)
or s7,a0,zero
sw s8,0x58(sp)
or a0,s0,zero
sw s6,0x50(sp)
sw t9,0x28(sp)
lbu s3,0x73(sp)
lw s4,0x74(sp)
lw s5,0x78(sp)
or a3,s3,zero
sw s4,0x10(sp)
bal 0x0030d6b8
_sw s5,0x14(sp)
lw v0,0x28(s0)
ext v0,v0,0xa,0x1
bne v0,zero,0x0030e58c
_lw gp,0x18(sp)
lw ra,0x5c(sp)
lw s8,0x58(sp)
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x60
lw t9,-0x478c(gp)
addiu s7,s7,0xb4
addiu s8,sp,0x20
sw s0,0x20(sp)
or a0,s7,zero
or a1,s8,zero
jalr t9
_sw t9,0x2c(sp)
li a1,0x8b
lw a0,0x0(v0)
beq a0,zero,0x0030e62c
_lw gp,0x18(sp)
lw v0,-0x4268(gp)
addiu t9,v0,-0x3700
bal 0x0030c900
_sw t9,0x30(sp)
b 0x0030e5e8
_or s6,v0,zero
lw t9,0x30(sp)
jalr t9
_nop
beq s0,v0,0x0030e55c
_or s6,v0,zero
lw t9,0x28(sp)
or a1,s1,zero
or a0,s6,zero
sw s5,0x14(sp)
or a3,s3,zero
sw s4,0x10(sp)
jalr t9
_or a2,s2,zero
or a0,s7,zero
lw t9,0x2c(sp)
or a1,s8,zero
jalr t9
_sw s6,0x20(sp)
lw a0,0x0(v0)
bne a0,zero,0x0030e5d4
_lw gp,0x18(sp)
li a1,0x91
lw a2,-0x7f64(gp)
lw a0,-0x7f64(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x7294
jalr t9
_addiu a0,a0,-0x7758
(translation_unit "/* void gold::Symbol_table::override<64, false>(gold::Sized_symbol<64>*, elfcpp::Sym<64, false>\n   const&, unsigned int, bool, gold::Object*, char const*) */\n\nvoid __thiscall\ngold::Symbol_table::override<64,false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  Symbol *pSVar6;\n  Symbol *this_00;\n  Sym *pSVar7;\n  undefined4 uVar8;\n  Symbol *pSVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  Sized_symbol *unaff_s6;\n  Symbol_table *pSVar13;\n  undefined *puVar14;\n  code *pcVar15;\n  code *pcVar16;\n  Symbol *apSStackY_f0 [2];\n  Sym *pSStackY_e8;\n  Symbol *pSStackY_e4;\n  uint uStackY_e0;\n  uint uStackY_dc;\n  Object *pOStackY_d8;\n  undefined4 uStackY_d4;\n  Sized_symbol *pSStackY_d0;\n  undefined *puStackY_cc;\n  Sized_symbol **ppSStackY_c8;\n  code *pcStackY_c4;\n  Sized_symbol *apSStack_a0 [2];\n  code *pcStack_98;\n  code *pcStack_94;\n  code *pcStack_90;\n  Sized_symbol *pSStack_88;\n  Sym *pSStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  Object *pOStack_78;\n  char *pcStack_74;\n  Sized_symbol *pSStack_70;\n  Symbol_table *pSStack_6c;\n  Sized_symbol **ppSStack_68;\n  code *pcStack_64;\n  Object *pOVar17;\n  Object *pOVar18;\n  Sized_symbol *local_40 [2];\n  code *local_38;\n  code *local_34;\n  code *local_30;\n  \n  local_38 = (code *)PTR_override<false>_004c4ff8;\n  uVar12 = (uint)param_4;\n  uVar10 = uVar12;\n  pOVar17 = param_5;\n  pOVar18 = (Object *)param_6;\n  Sized_symbol<64>::override<false>\n            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Symbol_table::override<64,false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int *piVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int" (function_declarator "false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)" identifier (ERROR ">" >) (parameter_list "(Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Sized_symbol *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Sym *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "bool param_4" primitive_type identifier) , (parameter_declaration "Object *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "char *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "Symbol *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "Symbol *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Sym *pSVar7;" type_identifier (pointer_declarator "*pSVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "Symbol *pSVar9;" type_identifier (pointer_declarator "*pSVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "Sized_symbol *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Symbol_table *pSVar13;" type_identifier (pointer_declarator "*pSVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "Symbol *apSStackY_f0 [2];" type_identifier (pointer_declarator "*apSStackY_f0 [2]" * (array_declarator "apSStackY_f0 [2]" identifier [ number_literal ])) ;) (declaration "Sym *pSStackY_e8;" type_identifier (pointer_declarator "*pSStackY_e8" * identifier) ;) (declaration "Symbol *pSStackY_e4;" type_identifier (pointer_declarator "*pSStackY_e4" * identifier) ;) (declaration "uint uStackY_e0;" type_identifier identifier ;) (declaration "uint uStackY_dc;" type_identifier identifier ;) (declaration "Object *pOStackY_d8;" type_identifier (pointer_declarator "*pOStackY_d8" * identifier) ;) (declaration "undefined4 uStackY_d4;" type_identifier identifier ;) (declaration "Sized_symbol *pSStackY_d0;" type_identifier (pointer_declarator "*pSStackY_d0" * identifier) ;) (declaration "undefined *puStackY_cc;" type_identifier (pointer_declarator "*puStackY_cc" * identifier) ;) (declaration "Sized_symbol **ppSStackY_c8;" type_identifier (pointer_declarator "**ppSStackY_c8" * (pointer_declarator "*ppSStackY_c8" * identifier)) ;) (declaration "code *pcStackY_c4;" type_identifier (pointer_declarator "*pcStackY_c4" * identifier) ;) (declaration "Sized_symbol *apSStack_a0 [2];" type_identifier (pointer_declarator "*apSStack_a0 [2]" * (array_declarator "apSStack_a0 [2]" identifier [ number_literal ])) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "code *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "Sized_symbol *pSStack_88;" type_identifier (pointer_declarator "*pSStack_88" * identifier) ;) (declaration "Sym *pSStack_84;" type_identifier (pointer_declarator "*pSStack_84" * identifier) ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "uint uStack_7c;" type_identifier identifier ;) (declaration "Object *pOStack_78;" type_identifier (pointer_declarator "*pOStack_78" * identifier) ;) (declaration "char *pcStack_74;" primitive_type (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "Sized_symbol *pSStack_70;" type_identifier (pointer_declarator "*pSStack_70" * identifier) ;) (declaration "Symbol_table *pSStack_6c;" type_identifier (pointer_declarator "*pSStack_6c" * identifier) ;) (declaration "Sized_symbol **ppSStack_68;" type_identifier (pointer_declarator "**ppSStack_68" * (pointer_declarator "*ppSStack_68" * identifier)) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "Object *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "Object *pOVar18;" type_identifier (pointer_declarator "*pOVar18" * identifier) ;) (declaration "Sized_symbol *local_40 [2];" type_identifier (pointer_declarator "*local_40 [2]" * (array_declarator "local_40 [2]" identifier [ number_literal ])) ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "code *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_38 = (code *)PTR_override<false>_004c4ff8;" (assignment_expression "local_38 = (code *)PTR_override<false>_004c4ff8" identifier = (binary_expression "(code *)PTR_override<false>_004c4ff8" (binary_expression "(code *)PTR_override<false" (cast_expression "(code *)PTR_override" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < false) > identifier)) ;) (expression_statement "uVar12 = (uint)param_4;" (assignment_expression "uVar12 = (uint)param_4" identifier = (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (expression_statement "pOVar17 = param_5;" (assignment_expression "pOVar17 = param_5" identifier = identifier) ;) (expression_statement "pOVar18 = (Object *)param_6;" (assignment_expression "pOVar18 = (Object *)param_6" identifier = (cast_expression "(Object *)param_6" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "Sized_symbol<64>::override<false>\n            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }\n  return;\n}" (binary_expression "Sized_symbol<64>::override<false" (binary_expression "Sized_symbol<64>::override" (binary_expression "Sized_symbol<64" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0)" (call_expression "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0)" (parenthesized_expression "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6)" ( (comma_expression "Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6" (binary_expression "Sized_symbol<64> *)param_1" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*)param_1" * (ERROR ")" )) identifier)) , (comma_expression "param_2,param_3,param_4,param_5,param_6" identifier , (comma_expression "param_3,param_4,param_5,param_6" identifier , (comma_expression "param_4,param_5,param_6" identifier , (comma_expression "param_5,param_6" identifier , identifier))))) )) (ERROR ";\n  if" ; if) (argument_list "(*(int *)(param_1 + 0x28) << 0x15 < 0)" ( (binary_expression "*(int *)(param_1 + 0x28) << 0x15 < 0" (binary_expression "*(int *)(param_1 + 0x28) << 0x15" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )))) (compound_statement "{\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }" { (expression_statement "local_34 = (code *)PTR_operator___004c4ab4;" (assignment_expression "local_34 = (code *)PTR_operator___004c4ab4" identifier = (cast_expression "(code *)PTR_operator___004c4ab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar13 = this + 0xb4;" (assignment_expression "pSVar13 = this + 0xb4" identifier = (binary_expression "this + 0xb4" identifier + number_literal)) ;) (expression_statement "local_40[0] = param_1;" (assignment_expression "local_40[0] = param_1" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" identifier = (cast_expression "(int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" (parenthesized_expression "(*(code *)PTR_operator___004c4ab4)" ( (pointer_expression "*(code *)PTR_operator___004c4ab4" * (cast_expression "(code *)PTR_operator___004c4ab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pSVar13,local_40)" ( identifier , identifier ))))) ;) (expression_statement "pSVar6 = (Symbol *)&DAT_0000008b;" (assignment_expression "pSVar6 = (Symbol *)&DAT_0000008b" identifier = (cast_expression "(Symbol *)&DAT_0000008b" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000008b" & identifier))) ;) (if_statement "if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }" { (labeled_statement "LAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);" statement_identifier : (expression_statement "pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);" (assignment_expression "pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294)" identifier = (cast_expression "(Sym *)(PTR_UINT_004c12dc + -0x7294)" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_004c12dc + -0x7294)" ( (binary_expression "PTR_UINT_004c12dc + -0x7294" identifier + number_literal) )))) ;)) (expression_statement "pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;" (comma_expression "pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758" (assignment_expression "pcVar15 = override<64" identifier = (binary_expression "override<64" identifier < number_literal)) , (binary_expression "true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758" true > (ERROR ";" ;) (assignment_expression "puVar3 = PTR_UINT_004c12dc + -0x7758" identifier = (binary_expression "PTR_UINT_004c12dc + -0x7758" identifier + number_literal)))) ;) (expression_statement "puVar14 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar14 = 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 "pcStack_98 = *(code **)(puVar14 + 0x1b69b8);" (assignment_expression "pcStack_98 = *(code **)(puVar14 + 0x1b69b8)" identifier = (pointer_expression "*(code **)(puVar14 + 0x1b69b8)" * (cast_expression "(code **)(puVar14 + 0x1b69b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x1b69b8)" ( (binary_expression "puVar14 + 0x1b69b8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_74 = param_6;" (assignment_expression "pcStack_74 = param_6" identifier = identifier) ;) (expression_statement "pOStack_78 = param_5;" (assignment_expression "pOStack_78 = param_5" identifier = identifier) ;) (expression_statement "pSStack_88 = param_1;" (assignment_expression "pSStack_88 = param_1" identifier = identifier) ;) (expression_statement "pSStack_84 = param_2;" (assignment_expression "pSStack_84 = param_2" identifier = identifier) ;) (expression_statement "uStack_80 = param_3;" (assignment_expression "uStack_80 = param_3" identifier = identifier) ;) (expression_statement "uStack_7c = uVar12;" (assignment_expression "uStack_7c = uVar12" identifier = identifier) ;) (expression_statement "pSStack_70 = unaff_s6;" (assignment_expression "pSStack_70 = unaff_s6" identifier = identifier) ;) (expression_statement "pSStack_6c = pSVar13;" (assignment_expression "pSStack_6c = pSVar13" identifier = identifier) ;) (expression_statement "ppSStack_68 = local_40;" (assignment_expression "ppSStack_68 = local_40" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar15;" (assignment_expression "pcStack_64 = pcVar15" identifier = identifier) ;) (labeled_statement "Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);" statement_identifier : (ERROR ":" :) (expression_statement "override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);" (comma_expression "override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" (binary_expression "override_base<64" identifier < number_literal) , (binary_expression "true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" true > (parenthesized_expression "(pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" ( (ERROR "pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::" (comma_expression "pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" identifier , (comma_expression "pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" identifier , (comma_expression "uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" identifier , (comma_expression "SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" (call_expression "SUB41(pOVar17,0)" identifier (argument_list "(pOVar17,0)" ( identifier , number_literal ))) , (comma_expression "pOVar18,\n                 Position_dependent_options" identifier , identifier))))) : :) (binary_expression "default_options_ + 0x3210" identifier + number_literal) )))) ;)) (expression_statement "iVar2 = *(int *)pSVar7;" (assignment_expression "iVar2 = *(int *)pSVar7" identifier = (pointer_expression "*(int *)pSVar7" * (cast_expression "(int *)pSVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(iVar2 + 0x14);" (assignment_expression "uVar11 = *(undefined4 *)(iVar2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar2 + 0x10);" (assignment_expression "uVar8 = *(undefined4 *)(iVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);" (assignment_expression "*(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc)" (pointer_expression "*(undefined4 *)(pSVar6 + 0x34)" * (cast_expression "(undefined4 *)(pSVar6 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x34)" ( (binary_expression "pSVar6 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x30) = uVar4" (pointer_expression "*(undefined4 *)(pSVar6 + 0x30)" * (cast_expression "(undefined4 *)(pSVar6 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x30)" ( (binary_expression "pSVar6 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x3c) = uVar11;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x3c) = uVar11" (pointer_expression "*(undefined4 *)(pSVar6 + 0x3c)" * (cast_expression "(undefined4 *)(pSVar6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x3c)" ( (binary_expression "pSVar6 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x38) = uVar8;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x38) = uVar8" (pointer_expression "*(undefined4 *)(pSVar6 + 0x38)" * (cast_expression "(undefined4 *)(pSVar6 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x38)" ( (binary_expression "pSVar6 + 0x38" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }" if (parenthesized_expression "(*(int *)(pSVar6 + 0x28) << 0x15 < 0)" ( (binary_expression "*(int *)(pSVar6 + 0x28) << 0x15 < 0" (binary_expression "*(int *)(pSVar6 + 0x28) << 0x15" (pointer_expression "*(int *)(pSVar6 + 0x28)" * (cast_expression "(int *)(pSVar6 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }" { (expression_statement "pcStack_94 = *(code **)(puVar14 + 0x1b6470);" (assignment_expression "pcStack_94 = *(code **)(puVar14 + 0x1b6470)" identifier = (pointer_expression "*(code **)(puVar14 + 0x1b6470)" * (cast_expression "(code **)(puVar14 + 0x1b6470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x1b6470)" ( (binary_expression "puVar14 + 0x1b6470" identifier + number_literal) ))))) ;) (expression_statement "puVar3 = puVar3 + 0xb4;" (assignment_expression "puVar3 = puVar3 + 0xb4" identifier = (binary_expression "puVar3 + 0xb4" identifier + number_literal)) ;) (expression_statement "apSStack_a0[0] = (Sized_symbol *)pSVar6;" (assignment_expression "apSStack_a0[0] = (Sized_symbol *)pSVar6" (subscript_expression "apSStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(Sized_symbol *)pSVar6" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);" (assignment_expression "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0)" identifier = (cast_expression "(int *)(*pcStack_94)(puVar3,apSStack_a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_94)(puVar3,apSStack_a0)" (parenthesized_expression "(*pcStack_94)" ( (pointer_expression "*pcStack_94" * identifier) )) (argument_list "(puVar3,apSStack_a0)" ( identifier , identifier ))))) ;) (expression_statement "this_00 = (Symbol *)&DAT_0000008b;" (assignment_expression "this_00 = (Symbol *)&DAT_0000008b" identifier = (cast_expression "(Symbol *)&DAT_0000008b" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000008b" & identifier))) ;) (if_statement "if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }" { (labeled_statement "LAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);" statement_identifier : (expression_statement "pcVar15 = *(code **)(puVar14 + 0x1b33ec);" (assignment_expression "pcVar15 = *(code **)(puVar14 + 0x1b33ec)" identifier = (pointer_expression "*(code **)(puVar14 + 0x1b33ec)" * (cast_expression "(code **)(puVar14 + 0x1b33ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x1b33ec)" ( (binary_expression "puVar14 + 0x1b33ec" identifier + number_literal) ))))) ;)) (expression_statement "pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);" (assignment_expression "pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" identifier = (cast_expression "(Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" ( (binary_expression "*(int *)(puVar14 + 0x1b2c98) + -0x72c4" (pointer_expression "*(int *)(puVar14 + 0x1b2c98)" * (cast_expression "(int *)(puVar14 + 0x1b2c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1b2c98)" ( (binary_expression "puVar14 + 0x1b2c98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;" (assignment_expression "pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" identifier = (binary_expression "override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" (binary_expression "override_with_special<32" identifier < number_literal) > (ERROR ";" ;) (assignment_expression "iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" identifier = (binary_expression "*(int *)(puVar14 + 0x1b2c98) + -0x7758" (pointer_expression "*(int *)(puVar14 + 0x1b2c98)" * (cast_expression "(int *)(puVar14 + 0x1b2c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1b2c98)" ( (binary_expression "puVar14 + 0x1b2c98" identifier + number_literal) )))) + number_literal)))) ;) (expression_statement "(*pcVar15)(iVar5);" (call_expression "(*pcVar15)(iVar5)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "uStackY_d4 = 0x4c9240;" (assignment_expression "uStackY_d4 = 0x4c9240" identifier = number_literal) ;) (expression_statement "pSStackY_e8 = pSVar7;" (assignment_expression "pSStackY_e8 = pSVar7" identifier = identifier) ;) (expression_statement "pSStackY_e4 = pSVar6;" (assignment_expression "pSStackY_e4 = pSVar6" identifier = identifier) ;) (expression_statement "uStackY_e0 = uVar10;" (assignment_expression "uStackY_e0 = uVar10" identifier = identifier) ;) (expression_statement "uStackY_dc = (uint)pOVar17 & 0xff;" (assignment_expression "uStackY_dc = (uint)pOVar17 & 0xff" identifier = (binary_expression "(uint)pOVar17 & 0xff" (cast_expression "(uint)pOVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pOStackY_d8 = pOVar18;" (assignment_expression "pOStackY_d8 = pOVar18" identifier = identifier) ;) (expression_statement "pSStackY_d0 = unaff_s6;" (assignment_expression "pSStackY_d0 = unaff_s6" identifier = identifier) ;) (expression_statement "puStackY_cc = puVar3;" (assignment_expression "puStackY_cc = puVar3" identifier = identifier) ;) (expression_statement "ppSStackY_c8 = apSStack_a0;" (assignment_expression "ppSStackY_c8 = apSStack_a0" identifier = identifier) ;) (expression_statement "pcStackY_c4 = pcVar16;" (assignment_expression "pcStackY_c4 = pcVar16" identifier = identifier) ;) (labeled_statement "Symbol::override_base_with_special(this_00,pSVar9);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special(this_00,pSVar9);" (call_expression "override_base_with_special(this_00,pSVar9)" identifier (argument_list "(this_00,pSVar9)" ( identifier , identifier ))) ;)) (expression_statement "iVar2 = *(int *)(this_00 + 0x28);" (assignment_expression "iVar2 = *(int *)(this_00 + 0x28)" identifier = (pointer_expression "*(int *)(this_00 + 0x28)" * (cast_expression "(int *)(this_00 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x28)" ( (binary_expression "this_00 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(pSVar9 + 0x34);" (assignment_expression "uVar4 = *(undefined4 *)(pSVar9 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(pSVar9 + 0x34)" * (cast_expression "(undefined4 *)(pSVar9 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x34)" ( (binary_expression "pSVar9 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);" (assignment_expression "*(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30)" (pointer_expression "*(undefined4 *)(this_00 + 0x30)" * (cast_expression "(undefined4 *)(this_00 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x30)" ( (binary_expression "this_00 + 0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pSVar9 + 0x30)" * (cast_expression "(undefined4 *)(pSVar9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x30)" ( (binary_expression "pSVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this_00 + 0x34) = uVar4;" (assignment_expression "*(undefined4 *)(this_00 + 0x34) = uVar4" (pointer_expression "*(undefined4 *)(this_00 + 0x34)" * (cast_expression "(undefined4 *)(this_00 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x34)" ( (binary_expression "this_00 + 0x34" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }" if (parenthesized_expression "(iVar2 << 0x15 < 0)" ( (binary_expression "iVar2 << 0x15 < 0" (binary_expression "iVar2 << 0x15" identifier << number_literal) < number_literal) )) (compound_statement "{\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }" { (expression_statement "pcVar16 = *(code **)(pcVar15 + 0x1b62b4);" (assignment_expression "pcVar16 = *(code **)(pcVar15 + 0x1b62b4)" identifier = (pointer_expression "*(code **)(pcVar15 + 0x1b62b4)" * (cast_expression "(code **)(pcVar15 + 0x1b62b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b62b4)" ( (binary_expression "pcVar15 + 0x1b62b4" identifier + number_literal) ))))) ;) (expression_statement "apSStackY_f0[0] = this_00;" (assignment_expression "apSStackY_f0[0] = this_00" (subscript_expression "apSStackY_f0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);" (assignment_expression "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" identifier = (cast_expression "(int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar5 + 0xb4,apSStackY_f0)" ( (binary_expression "iVar5 + 0xb4" identifier + number_literal) , identifier ))))) ;) (expression_statement "uVar4 = 0x457;" (assignment_expression "uVar4 = 0x457" identifier = number_literal) ;) (if_statement "if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }" { (labeled_statement "LAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);" statement_identifier : (expression_statement "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);" (call_expression "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b3230))" ( (pointer_expression "**(code **)(pcVar15 + 0x1b3230)" * (pointer_expression "*(code **)(pcVar15 + 0x1b3230)" * (cast_expression "(code **)(pcVar15 + 0x1b3230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b3230)" ( (binary_expression "pcVar15 + 0x1b3230" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec)" ( (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x7758" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" * (cast_expression "(int *)(pcVar15 + 0x1b2adc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2adc)" ( (binary_expression "pcVar15 + 0x1b2adc" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x72ec" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" * (cast_expression "(int *)(pcVar15 + 0x1b2adc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2adc)" ( (binary_expression "pcVar15 + 0x1b2adc" identifier + number_literal) )))) + number_literal) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);" (assignment_expression "pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457)" identifier = (cast_expression "(Symbol *)FUN_0030c880(*piVar1,0x457)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c880(*piVar1,0x457)" identifier (argument_list "(*piVar1,0x457)" ( (pointer_expression "*piVar1" * identifier) , number_literal ))))) ;) (do_statement "do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);" do (compound_statement "{\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            }" { (labeled_statement "Symbol::override_base_with_special(pSVar6,pSVar9);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special(pSVar6,pSVar9);" (call_expression "override_base_with_special(pSVar6,pSVar9)" identifier (argument_list "(pSVar6,pSVar9)" ( identifier , identifier ))) ;)) (expression_statement "uVar4 = *(undefined4 *)(pSVar9 + 0x34);" (assignment_expression "uVar4 = *(undefined4 *)(pSVar9 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(pSVar9 + 0x34)" * (cast_expression "(undefined4 *)(pSVar9 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x34)" ( (binary_expression "pSVar9 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);" (assignment_expression "*(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30)" (pointer_expression "*(undefined4 *)(pSVar6 + 0x30)" * (cast_expression "(undefined4 *)(pSVar6 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x30)" ( (binary_expression "pSVar6 + 0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pSVar9 + 0x30)" * (cast_expression "(undefined4 *)(pSVar9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x30)" ( (binary_expression "pSVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x34) = uVar4;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x34) = uVar4" (pointer_expression "*(undefined4 *)(pSVar6 + 0x34)" * (cast_expression "(undefined4 *)(pSVar6 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x34)" ( (binary_expression "pSVar6 + 0x34" identifier + number_literal) )))) = identifier) ;) (expression_statement "apSStackY_f0[0] = pSVar6;" (assignment_expression "apSStackY_f0[0] = pSVar6" (subscript_expression "apSStackY_f0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);" (assignment_expression "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" identifier = (cast_expression "(int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar5 + 0xb4,apSStackY_f0)" ( (binary_expression "iVar5 + 0xb4" identifier + number_literal) , identifier ))))) ;) (if_statement "if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }" { (expression_statement "uVar4 = 0x45d;" (assignment_expression "uVar4 = 0x45d" identifier = number_literal) ;) (goto_statement "goto LAB_0030e9f0;" goto statement_identifier ;) })) (expression_statement "pSVar6 = (Symbol *)FUN_0030c880();" (assignment_expression "pSVar6 = (Symbol *)FUN_0030c880()" identifier = (cast_expression "(Symbol *)FUN_0030c880()" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c880()" identifier (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(this_00 != pSVar6)" ( (binary_expression "this_00 != pSVar6" identifier != identifier) )) ;) (expression_statement "iVar2 = *(int *)(this_00 + 0x28);" (assignment_expression "iVar2 = *(int *)(this_00 + 0x28)" identifier = (pointer_expression "*(int *)(this_00 + 0x28)" * (cast_expression "(int *)(this_00 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x28)" ( (binary_expression "this_00 + 0x28" identifier + number_literal) ))))) ;) })) (expression_statement "uVar10 = (uint)(iVar2 << 4) >> 0x1c;" (assignment_expression "uVar10 = (uint)(iVar2 << 4) >> 0x1c" identifier = (binary_expression "(uint)(iVar2 << 4) >> 0x1c" (call_expression "(uint)(iVar2 << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 << 4)" ( (binary_expression "iVar2 << 4" identifier << number_literal) ))) >> number_literal)) ;) (if_statement "if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }" { (labeled_statement "LAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);" statement_identifier : (expression_statement "(**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);" (call_expression "(**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b6224))" ( (pointer_expression "**(code **)(pcVar15 + 0x1b6224)" * (pointer_expression "*(code **)(pcVar15 + 0x1b6224)" * (cast_expression "(code **)(pcVar15 + 0x1b6224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b6224)" ( (binary_expression "pcVar15 + 0x1b6224" identifier + number_literal) ))))) )) (argument_list "(iVar5,this_00)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }" if (parenthesized_expression "(((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10))))" ( (binary_expression "((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))" (parenthesized_expression "((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2)" ( (binary_expression "(((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2" (parenthesized_expression "(((uint)(iVar2 << 8) >> 0x1e) + 3 & 3)" ( (binary_expression "((uint)(iVar2 << 8) >> 0x1e) + 3 & 3" (binary_expression "((uint)(iVar2 << 8) >> 0x1e) + 3" (parenthesized_expression "((uint)(iVar2 << 8) >> 0x1e)" ( (binary_expression "(uint)(iVar2 << 8) >> 0x1e" (call_expression "(uint)(iVar2 << 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 << 8)" ( (binary_expression "iVar2 << 8" identifier << number_literal) ))) >> number_literal) )) + number_literal) & number_literal) )) < number_literal) )) && (parenthesized_expression "(((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))" ( (parenthesized_expression "((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10))" ( (binary_expression "(uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)" (binary_expression "(uVar10 + 0xf & 0xf) < 2" (parenthesized_expression "(uVar10 + 0xf & 0xf)" ( (binary_expression "uVar10 + 0xf & 0xf" (binary_expression "uVar10 + 0xf" identifier + number_literal) & number_literal) )) < number_literal) || (parenthesized_expression "(uVar10 == 10)" ( (binary_expression "uVar10 == 10" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }" { (if_statement "if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }" if (parenthesized_expression "(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0)" ( (binary_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" * (cast_expression "(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (binary_expression "**(int **)(pcVar15 + 0x1b31b4) + 8" (pointer_expression "**(int **)(pcVar15 + 0x1b31b4)" * (pointer_expression "*(int **)(pcVar15 + 0x1b31b4)" * (cast_expression "(int **)(pcVar15 + 0x1b31b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b31b4)" ( (binary_expression "pcVar15 + 0x1b31b4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }" { (expression_statement "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);" (call_expression "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b3230))" ( (pointer_expression "**(code **)(pcVar15 + 0x1b3230)" * (pointer_expression "*(code **)(pcVar15 + 0x1b3230)" * (cast_expression "(code **)(pcVar15 + 0x1b3230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b3230)" ( (binary_expression "pcVar15 + 0x1b3230" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4)" ( (binary_expression "*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8" (pointer_expression "*(int *)(pcVar15 + 0x1b2a7c)" * (cast_expression "(int *)(pcVar15 + 0x1b2a7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2a7c)" ( (binary_expression "pcVar15 + 0x1b2a7c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x71c4" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" * (cast_expression "(int *)(pcVar15 + 0x1b2adc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2adc)" ( (binary_expression "pcVar15 + 0x1b2adc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;" if (parenthesized_expression "(*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" ( (binary_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195" (pointer_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" * (cast_expression "(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (binary_expression "**(int **)(pcVar15 + 0x1b31b4) + 8" (pointer_expression "**(int **)(pcVar15 + 0x1b31b4)" * (pointer_expression "*(int **)(pcVar15 + 0x1b31b4)" * (cast_expression "(int **)(pcVar15 + 0x1b31b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b31b4)" ( (binary_expression "pcVar15 + 0x1b31b4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0030e904;" goto statement_identifier ;)) })) (return_statement "return;" return ;) })) (expression_statement "pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);" (assignment_expression "pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700)" identifier = (cast_expression "(code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar14 + 0x1b6994) + -0x3700)" ( (binary_expression "*(int *)(puVar14 + 0x1b6994) + -0x3700" (pointer_expression "*(int *)(puVar14 + 0x1b6994)" * (cast_expression "(int *)(puVar14 + 0x1b6994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1b6994)" ( (binary_expression "puVar14 + 0x1b6994" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s6 = (Sized_symbol *)FUN_0030c900();" (assignment_expression "unaff_s6 = (Sized_symbol *)FUN_0030c900()" identifier = (cast_expression "(Sized_symbol *)FUN_0030c900()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c900()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);" do (compound_statement "{\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        }" { (expression_statement "(*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);" (call_expression "(*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff)" (parenthesized_expression "(*pcStack_98)" ( (pointer_expression "*pcStack_98" * identifier) )) (argument_list "(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff)" ( identifier , identifier , identifier , (binary_expression "(uint)pOVar17 & 0xff" (cast_expression "(uint)pOVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "iVar2 = *(int *)pSVar7;" (assignment_expression "iVar2 = *(int *)pSVar7" identifier = (pointer_expression "*(int *)pSVar7" * (cast_expression "(int *)pSVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(iVar2 + 0x14);" (assignment_expression "uVar11 = *(undefined4 *)(iVar2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar2 + 0x10);" (assignment_expression "uVar8 = *(undefined4 *)(iVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc)" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x34)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x34)" ( (binary_expression "unaff_s6 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x30) = uVar4" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x30)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x30)" ( (binary_expression "unaff_s6 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x3c) = uVar11;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x3c) = uVar11" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x3c)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x3c)" ( (binary_expression "unaff_s6 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x38) = uVar8;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x38) = uVar8" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x38)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x38)" ( (binary_expression "unaff_s6 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "apSStack_a0[0] = unaff_s6;" (assignment_expression "apSStack_a0[0] = unaff_s6" (subscript_expression "apSStack_a0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);" (assignment_expression "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0)" identifier = (cast_expression "(int *)(*pcStack_94)(puVar3,apSStack_a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_94)(puVar3,apSStack_a0)" (parenthesized_expression "(*pcStack_94)" ( (pointer_expression "*pcStack_94" * identifier) )) (argument_list "(puVar3,apSStack_a0)" ( identifier , identifier ))))) ;) (if_statement "if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }" { (expression_statement "this_00 = (Symbol *)&DAT_00000091;" (assignment_expression "this_00 = (Symbol *)&DAT_00000091" identifier = (cast_expression "(Symbol *)&DAT_00000091" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000091" & identifier))) ;) (goto_statement "goto LAB_0030e7e8;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (Sized_symbol *)(*pcStack_90)();" (assignment_expression "unaff_s6 = (Sized_symbol *)(*pcStack_90)()" identifier = (cast_expression "(Sized_symbol *)(*pcStack_90)()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_90)()" (parenthesized_expression "(*pcStack_90)" ( (pointer_expression "*pcStack_90" * identifier) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(pSVar6 != (Symbol *)unaff_s6)" ( (binary_expression "pSVar6 != (Symbol *)unaff_s6" identifier != (cast_expression "(Symbol *)unaff_s6" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);" (assignment_expression "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700)" identifier = (cast_expression "(code *)(PTR_LAB_004c4fd8 + -0x3700)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_004c4fd8 + -0x3700)" ( (binary_expression "PTR_LAB_004c4fd8 + -0x3700" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = (Sized_symbol *)FUN_0030c900();" (assignment_expression "unaff_s6 = (Sized_symbol *)FUN_0030c900()" identifier = (cast_expression "(Sized_symbol *)FUN_0030c900()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c900()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);" do (compound_statement "{\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    }" { (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (expression_statement "pOVar17 = param_5;" (assignment_expression "pOVar17 = param_5" identifier = identifier) ;) (expression_statement "pOVar18 = (Object *)param_6;" (assignment_expression "pOVar18 = (Object *)param_6" identifier = (cast_expression "(Object *)param_6" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*local_38)(unaff_s6,param_2,param_3);" (call_expression "(*local_38)(unaff_s6,param_2,param_3)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(unaff_s6,param_2,param_3)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_40[0] = unaff_s6;" (assignment_expression "local_40[0] = unaff_s6" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*local_34)(pSVar13,local_40);" (assignment_expression "piVar1 = (int *)(*local_34)(pSVar13,local_40)" identifier = (cast_expression "(int *)(*local_34)(pSVar13,local_40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_34)(pSVar13,local_40)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(pSVar13,local_40)" ( identifier , identifier ))))) ;) (if_statement "if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }" { (expression_statement "pSVar6 = (Symbol *)&DAT_00000091;" (assignment_expression "pSVar6 = (Symbol *)&DAT_00000091" identifier = (cast_expression "(Symbol *)&DAT_00000091" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000091" & identifier))) ;) (goto_statement "goto LAB_0030e62c;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (Sized_symbol *)(*local_30)();" (assignment_expression "unaff_s6 = (Sized_symbol *)(*local_30)()" identifier = (cast_expression "(Sized_symbol *)(*local_30)()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_30)()" (parenthesized_expression "(*local_30)" ( (pointer_expression "*local_30" * identifier) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(param_1 != unaff_s6)" ( (binary_expression "param_1 != unaff_s6" identifier != identifier) )) ;) }) return ; }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\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 name: override<64, false>\n   DWARF original prototype: void override<64,_false>(Symbol_table * this, Sized_symbol<64> * tosym,\n   Sym<64,_false> * fromsym, uint st_shndx, bool is_ordinary, Object * object, char * version) */\n\nvoid __thiscall\ngold::Symbol_table::override<64,_false>\n          (Symbol_table *this,Sized_symbol<64> *tosym,Sym<64,_false> *fromsym,uint st_shndx,\n          bool is_ordinary,Object *object,char *version)\n\n{\n  uint uVar1;\n  undefined4 *puVar2;\n  int *piVar3;\n  uint uVar4;\n  Sized_symbol<64> *this_00;\n  __bucket_type *pp_Var5;\n  char *pcVar6;\n  _Hash_node_base *p_Var7;\n  undefined *puVar8;\n  anon_union_4_3_b0f6f408_for_u1_ aVar9;\n  int iVar10;\n  Compressed_section_map *pCVar11;\n  __bucket_type *pp_Var12;\n  anon_union_4_3_b582a2bd_for_u2_ aVar13;\n  Sized_symbol<64> *this_01;\n  undefined4 uVar14;\n  Symbol *sym;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n  *this_02;\n  anon_union_4_3_b0f6f408_for_u1_ aVar15;\n  anon_union_4_3_b0f6f408_for_u1_ aVar16;\n  anon_union_4_3_b582a2bd_for_u2_ from;\n  int iVar17;\n  Symbol *from_00;\n  anon_union_4_3_b0f6f408_for_u1_ aVar18;\n  _Hash_node_base *p_Var19;\n  uint uVar20;\n  Object *object_00;\n  uint uVar21;\n  anon_union_4_3_b582a2bd_for_u2_ unaff_s6;\n  unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold::Symbol*_const,_gold::Symbol*>_>_>\n  *puVar22;\n  Got_offset_list *pGVar23;\n  undefined *puVar24;\n  code *pcVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined1 auStackY_138 [64];\n  code *pcStackY_f8;\n  anon_union_4_3_b0f6f408_for_u1_ aStackY_f0;\n  anon_union_4_3_b0f6f408_for_u1_ aStackY_e8;\n  anon_union_4_3_b582a2bd_for_u2_ aStackY_e4;\n  uint uStackY_e0;\n  uint uStackY_dc;\n  Object *pOStackY_d8;\n  undefined4 uStackY_d4;\n  anon_union_4_3_b582a2bd_for_u2_ aStackY_d0;\n  Got_offset_list *pGStackY_cc;\n  anon_union_4_3_b582a2bd_for_u2_ *paStackY_c8;\n  code *pcStackY_c4;\n  anon_union_4_3_b582a2bd_for_u2_ aaStack_a0 [2];\n  code *pcStack_98;\n  code *pcStack_94;\n  code *pcStack_90;\n  Sized_symbol<64> *pSStack_88;\n  Sym<64,_false> *pSStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  Object *pOStack_78;\n  char *pcStack_74;\n  anon_union_4_3_b582a2bd_for_u2_ aStack_70;\n  unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold::Symbol*_const,_gold::Symbol*>_>_>\n  *puStack_6c;\n  anon_union_4_3_b582a2bd_for_u2_ *paStack_68;\n  code *pcStack_64;\n  Object *pOVar28;\n  anon_union_4_3_b582a2bd_for_u2_ local_40 [2];\n  code *local_38;\n  code *local_34;\n  code *local_30;\n  \n  local_38 = (code *)PTR_override<false>_004c4ff8;\n  uVar20 = (uint)is_ordinary;\n  uVar4 = uVar20;\n  pOVar28 = object;\n  object_00 = (Object *)version;\n  Sized_symbol<64>::override<false>(tosym,fromsym,st_shndx,is_ordinary,object,version);\n  if (-1 < *(int *)&(tosym->super_Symbol).field_0x28 << 0x15) {\n    return;\n  }\n  local_34 = (code *)PTR_operator___004c4ab4;\n  puVar22 = &this->weak_aliases_;\n  local_40[0] = (anon_union_4_3_b582a2bd_for_u2_)tosym;\n  puVar2 = (undefined4 *)(*(code *)PTR_operator___004c4ab4)(puVar22,local_40);\n  aVar13.shndx = (uint)&DAT_0000008b;\n  if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);\n    while( true ) {\n      uVar4 = uVar20;\n      pOVar28 = object;\n      object_00 = (Object *)version;\n      (*local_38)(unaff_s6.shndx,fromsym,st_shndx);\n      local_40[0] = unaff_s6;\n      piVar3 = (int *)(*local_34)(puVar22,local_40);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*local_30)();\n      if (tosym == unaff_s6) {\n        return;\n      }\n    }\n    aVar13.shndx = (uint)&DAT_00000091;\n  }\n  aVar15.object = (Object *)(PTR_UINT_004c12dc + -0x7294);\n  pcVar25 = override<64,_true>;\n  puVar8 = PTR_UINT_004c12dc + -0x7758;\n  puVar24 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)();\n  pcStack_98 = *(code **)(puVar24 + 0x1b69b8);\n  pcStack_74 = version;\n  pOStack_78 = object;\n  uVar21 = 0x4c9240;\n  pSStack_88 = tosym;\n  pSStack_84 = fromsym;\n  uStack_80 = st_shndx;\n  uStack_7c = uVar20;\n  aStack_70 = unaff_s6;\n  puStack_6c = puVar22;\n  paStack_68 = local_40;\n  pcStack_64 = pcVar25;\n  Symbol::override_base<64,_true>\n            ((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option);\n  pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;\n  aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);\n  aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);\n  aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);\n  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x34) =\n       *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);\n  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x30) = aVar9;\n  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x3c) = aVar18;\n  *(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x38) = aVar16;\n  if (-1 < (int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object << 0x15) {\n    return;\n  }\n  pcStack_94 = *(code **)(puVar24 + 0x1b6470);\n  pGVar23 = (Got_offset_list *)(puVar8 + 0xb4);\n  aaStack_a0[0] = aVar13;\n  puVar2 = (undefined4 *)(*pcStack_94)(pGVar23,aaStack_a0);\n  aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x8b;\n  if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n    pcStack_90 = (code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700);\n    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);\n    while( true ) {\n      (*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);\n      pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;\n      aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);\n      aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);\n      aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;\n      aaStack_a0[0] = unaff_s6;\n      piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*pcStack_90)();\n      if (aVar13.shndx == unaff_s6.shndx) {\n        return;\n      }\n    }\n    aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x91;\n  }\n  pcVar25 = *(code **)(puVar24 + 0x1b33ec);\n  from.shndx = *(int *)(puVar24 + 0x1b2c98) - 0x72c4;\n  pcVar26 = override_with_special<32>;\n  iVar10 = *(int *)(puVar24 + 0x1b2c98) + -0x7758;\n  (*pcVar25)();\n  pcStackY_f8 = pcVar25 + 0x1baa40;\n  uStackY_d4 = 0x4c9240;\n  uVar20 = *(uint *)(pcVar25 + 0x1b6800);\n  aStackY_e8 = aVar15;\n  aStackY_e4 = aVar13;\n  uStackY_e0 = uVar4;\n  uStackY_dc = (uint)pOVar28 & 0xff;\n  pOStackY_d8 = object_00;\n  aStackY_d0 = unaff_s6;\n  pGStackY_cc = pGVar23;\n  paStackY_c8 = aaStack_a0;\n  pcStackY_c4 = pcVar26;\n  Symbol::override_base_with_special((Symbol *)aVar9.object,(Symbol *)from);\n  uVar4 = (aVar9.object)->shnum_;\n  pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n  (aVar9.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n  (aVar9.object)->compressed_sections_ = pCVar11;\n  if ((int)(uVar4 << 0x15) < 0) {\n    pGVar23 = *(Got_offset_list **)(pcStackY_f8 + -0x478c);\n    uVar21 = iVar10 + 0xb4;\n    unaff_s6.shndx = (uint)&aStackY_f0;\n    aStackY_f0 = aVar9;\n    puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx);\n    uVar14 = 0x457;\n    if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n      object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);\n      aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);\n      do {\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      } while (aVar9.object != aVar15.object);\n      uVar4 = (aVar9.object)->shnum_;\n      goto LAB_0030e87c;\n    }\nLAB_0030e9f0:\n    pcVar25 = pcStackY_f8;\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64) + -0x72ec;\n    (**(code **)(pcStackY_f8 + -0x7810))(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14);\n  }\n  else {\nLAB_0030e87c:\n    uVar1 = (uVar4 << 4) >> 0x1c;\n    if (uVar1 == 0) {\nLAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);\n      return;\n    }\n    if ((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))) {\n      return;\n    }\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64);\n    pcVar25 = pcStackY_f8;\n    if (*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0) {\n      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }\n      goto LAB_0030e904;\n    }\n  }\n  this_01 = (Sized_symbol<64> *)&DAT_0000005c;\n  pcVar26 = *(code **)(pcVar25 + -0x7810);\n  from_00 = (Symbol *)(iVar17 + -0x71c4);\n  pcVar27 = override_with_special<64>;\n  iVar17 = *(int *)(pcVar25 + -0x7fc4) + -0x9b8;\n  (*pcVar26)(iVar17);\n  auStackY_138._8_4_ = aVar15;\n  auStackY_138._12_4_ = from;\n  auStackY_138._16_4_ = aVar9;\n  auStackY_138._20_4_ = uVar20;\n  auStackY_138._24_4_ = object_00;\n  auStackY_138._28_4_ = uVar21;\n  auStackY_138._32_4_ = unaff_s6;\n  auStackY_138._36_4_ = pGVar23;\n  auStackY_138._40_4_ = iVar10;\n  auStackY_138._44_4_ = pcVar27;\n  Symbol::override_base_with_special(&this_01->super_Symbol,from_00);\n  iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;\n  pcVar6 = from_00[1].name_;\n  aVar13 = from_00[1].u2_;\n  aVar15 = from_00[1].u1_;\n  *(char **)((int)&this_01->value_ + 4) = from_00[1].version_;\n  *(char **)&this_01->value_ = pcVar6;\n  *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_01->symsize_ + 4) = aVar13;\n  *(anon_union_4_3_b0f6f408_for_u1_ *)&this_01->symsize_ = aVar15;\n  if (iVar10 << 0x15 < 0) {\n    pcVar25 = *(code **)(pcVar26 + 0x1b6094);\n    auStackY_138._0_4_ = this_01;\n    puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138);\n    uVar14 = 0x457;\n    if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\nLAB_0030ec30:\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;\n      (**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);\n      goto LAB_0030ec48;\n    }\n    this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457);\n    do {\n      Symbol::override_base_with_special(&this_00->super_Symbol,from_00);\n      pcVar6 = from_00[1].name_;\n      aVar13 = from_00[1].u2_;\n      aVar15 = from_00[1].u1_;\n      *(char **)((int)&this_00->value_ + 4) = from_00[1].version_;\n      *(char **)&this_00->value_ = pcVar6;\n      *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;\n      sym = (Symbol *)auStackY_138;\n      auStackY_138._0_4_ = this_00;\n      puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);\n      if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }\n      this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);\n    } while (this_01 != this_00);\n    iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;\n  }\n  uVar4 = (uint)(iVar10 << 4) >> 0x1c;\n  if (uVar4 != 0) {\n    if (((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&\n       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))) {\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc);\n      if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }\n      if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')\n      goto LAB_0030eb34;\n    }\n    return;\n  }\nLAB_0030eb34:\n  (**(code **)(pcVar26 + 0x1b6004))(iVar17,this_01);\n  return;\n}\n\n" comment comment comment comment comment comment comment (declaration "void __thiscall\ngold::Symbol_table::override<64,_false>\n          (Symbol_table *this,Sized_symbol<64> *tosym,Sym<64,_false> *fromsym,uint st_shndx,\n          bool is_ordinary,Object *object,char *version)\n\n{\n  uint uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>\n          (Symbol_table *this,Sized_symbol<64> *tosym,Sym<64,_false> *fromsym,uint st_shndx,\n          bool is_ordinary,Object *object,char *version)\n\n{\n  uint" (function_declarator "_false>\n          (Symbol_table *this,Sized_symbol<64> *tosym,Sym<64,_false> *fromsym,uint st_shndx,\n          bool is_ordinary,Object *object,char *version)" identifier (ERROR ">" >) (parameter_list "(Symbol_table *this,Sized_symbol<64> *tosym,Sym<64,_false> *fromsym,uint st_shndx,\n          bool is_ordinary,Object *object,char *version)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Sized_symbol<64> *tosym" type_identifier (ERROR "<64>" < number_literal >) (pointer_declarator "*tosym" * identifier)) , (parameter_declaration "Sym" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *fromsym" type_identifier (ERROR ">" >) (pointer_declarator "*fromsym" * identifier)) , (parameter_declaration "uint st_shndx" type_identifier identifier) , (parameter_declaration "bool is_ordinary" primitive_type identifier) , (parameter_declaration "Object *object" type_identifier (pointer_declarator "*object" * identifier)) , (parameter_declaration "char *version" primitive_type (pointer_declarator "*version" * identifier)) ))) { identifier) identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (expression_statement "Sized_symbol<64> *this_00;" (update_expression "Sized_symbol<64> *this_00" (binary_expression "Sized_symbol<64> *this_00" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "__bucket_type *pp_Var5;" type_identifier (pointer_declarator "*pp_Var5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "_Hash_node_base *p_Var7;" type_identifier (pointer_declarator "*p_Var7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "anon_union_4_3_b0f6f408_for_u1_ aVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "Compressed_section_map *pCVar11;" type_identifier (pointer_declarator "*pCVar11" * identifier) ;) (declaration "__bucket_type *pp_Var12;" type_identifier (pointer_declarator "*pp_Var12" * identifier) ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ aVar13;" type_identifier identifier ;) (expression_statement "Sized_symbol<64> *this_01;" (update_expression "Sized_symbol<64> *this_01" (binary_expression "Sized_symbol<64> *this_01" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*this_01" * identifier)) --) ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "Symbol *sym;" type_identifier (pointer_declarator "*sym" * identifier) ;) (ERROR "_Hashtable_alloc<std::allocator<std::" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) : :) (labeled_statement "__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n  *this_02;" statement_identifier (ERROR "::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold:" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (comma_expression "pair<char_const*_const,_std" (binary_expression "pair<char_const*_const" identifier < (binary_expression "char_const*_const" identifier * identifier)) , identifier) : : (binary_expression "unordered_set<gold" identifier < identifier) : : (comma_expression "Symbol_location,_gold" identifier , identifier) : : (comma_expression "Symbol_location_hash,_std" identifier , identifier) : : (binary_expression "equal_to<gold" identifier < identifier) : : (binary_expression "Symbol_location>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (expression_statement "Symbol_location>_>_>,_false>_>_>\n  *this_02;" (binary_expression "Symbol_location>_>_>,_false>_>_>\n  *this_02" (binary_expression "Symbol_location>_>_>,_false>_>_" (binary_expression "Symbol_location>_>_>,_false>_" (binary_expression "Symbol_location>_>_>,_false" (binary_expression "Symbol_location>_>_" (binary_expression "Symbol_location>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "*this_02" * identifier)) ;)) (declaration "anon_union_4_3_b0f6f408_for_u1_ aVar15;" type_identifier identifier ;) (declaration "anon_union_4_3_b0f6f408_for_u1_ aVar16;" type_identifier identifier ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ from;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "Symbol *from_00;" type_identifier (pointer_declarator "*from_00" * identifier) ;) (declaration "anon_union_4_3_b0f6f408_for_u1_ aVar18;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var19;" type_identifier (pointer_declarator "*p_Var19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "Object *object_00;" type_identifier (pointer_declarator "*object_00" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ unaff_s6;" type_identifier identifier ;) (ERROR "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold::" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std" (binary_expression "unordered_map<gold::Symbol*,_gold" (binary_expression "unordered_map<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::hash" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::equal_to" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) : :) (declaration "Symbol*_const,_gold::Symbol*>_>_>\n  *puVar22;" type_identifier (pointer_declarator "*_const" * identifier) , (ERROR "_gold::Symbol*>_>_>" identifier : : identifier * > identifier > identifier >) (pointer_declarator "*puVar22" * identifier) ;) (declaration "Got_offset_list *pGVar23;" type_identifier (pointer_declarator "*pGVar23" * identifier) ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined1 auStackY_138 [64];" type_identifier (array_declarator "auStackY_138 [64]" identifier [ number_literal ]) ;) (declaration "code *pcStackY_f8;" type_identifier (pointer_declarator "*pcStackY_f8" * identifier) ;) (declaration "anon_union_4_3_b0f6f408_for_u1_ aStackY_f0;" type_identifier identifier ;) (declaration "anon_union_4_3_b0f6f408_for_u1_ aStackY_e8;" type_identifier identifier ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ aStackY_e4;" type_identifier identifier ;) (declaration "uint uStackY_e0;" type_identifier identifier ;) (declaration "uint uStackY_dc;" type_identifier identifier ;) (declaration "Object *pOStackY_d8;" type_identifier (pointer_declarator "*pOStackY_d8" * identifier) ;) (declaration "undefined4 uStackY_d4;" type_identifier identifier ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ aStackY_d0;" type_identifier identifier ;) (declaration "Got_offset_list *pGStackY_cc;" type_identifier (pointer_declarator "*pGStackY_cc" * identifier) ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ *paStackY_c8;" type_identifier (pointer_declarator "*paStackY_c8" * identifier) ;) (declaration "code *pcStackY_c4;" type_identifier (pointer_declarator "*pcStackY_c4" * identifier) ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ aaStack_a0 [2];" type_identifier (array_declarator "aaStack_a0 [2]" identifier [ number_literal ]) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "code *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (expression_statement "Sized_symbol<64> *pSStack_88;" (update_expression "Sized_symbol<64> *pSStack_88" (binary_expression "Sized_symbol<64> *pSStack_88" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*pSStack_88" * identifier)) --) ;) (ERROR "Sym<64,_false> *pSStack_84" (binary_expression "Sym<64" identifier < number_literal) , (binary_expression "_false> *pSStack_84" identifier > (pointer_expression "*pSStack_84" * identifier))) (expression_statement ";" ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "uint uStack_7c;" type_identifier identifier ;) (declaration "Object *pOStack_78;" type_identifier (pointer_declarator "*pOStack_78" * identifier) ;) (declaration "char *pcStack_74;" primitive_type (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ aStack_70;" type_identifier identifier ;) (ERROR "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold::" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std::pair<gold" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std::allocator<std" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold::Symbol*>,_std" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std::equal_to<gold" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold::Symbol*>,_std" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std::hash<gold" (binary_expression "unordered_map<gold::Symbol*,_gold::Symbol*,_std" (binary_expression "unordered_map<gold::Symbol*,_gold" (binary_expression "unordered_map<gold" identifier < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::hash" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::equal_to" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">," > ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) : :) (declaration "Symbol*_const,_gold::Symbol*>_>_>\n  *puStack_6c;" type_identifier (pointer_declarator "*_const" * identifier) , (ERROR "_gold::Symbol*>_>_>" identifier : : identifier * > identifier > identifier >) (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ *paStack_68;" type_identifier (pointer_declarator "*paStack_68" * identifier) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "Object *pOVar28;" type_identifier (pointer_declarator "*pOVar28" * identifier) ;) (declaration "anon_union_4_3_b582a2bd_for_u2_ local_40 [2];" type_identifier (array_declarator "local_40 [2]" identifier [ number_literal ]) ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "code *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_38 = (code *)PTR_override<false>_004c4ff8;" (assignment_expression "local_38 = (code *)PTR_override<false>_004c4ff8" identifier = (binary_expression "(code *)PTR_override<false>_004c4ff8" (binary_expression "(code *)PTR_override<false" (cast_expression "(code *)PTR_override" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < false) > identifier)) ;) (expression_statement "uVar20 = (uint)is_ordinary;" (assignment_expression "uVar20 = (uint)is_ordinary" identifier = (cast_expression "(uint)is_ordinary" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar4 = uVar20;" (assignment_expression "uVar4 = uVar20" identifier = identifier) ;) (expression_statement "pOVar28 = object;" (assignment_expression "pOVar28 = object" identifier = identifier) ;) (expression_statement "object_00 = (Object *)version;" (assignment_expression "object_00 = (Object *)version" identifier = (cast_expression "(Object *)version" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "Sized_symbol<64>::override<false>(tosym,fromsym,st_shndx,is_ordinary,object,version);" (update_expression "Sized_symbol<64>::override<false>(tosym,fromsym,st_shndx,is_ordinary,object,version)" (binary_expression "Sized_symbol<64>::override<false>(tosym,fromsym,st_shndx,is_ordinary,object,version)" (binary_expression "Sized_symbol<64>::override<false" (binary_expression "Sized_symbol<64>::override" (binary_expression "Sized_symbol<64" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(tosym,fromsym,st_shndx,is_ordinary,object,version)" ( (comma_expression "tosym,fromsym,st_shndx,is_ordinary,object,version" identifier , (comma_expression "fromsym,st_shndx,is_ordinary,object,version" identifier , (comma_expression "st_shndx,is_ordinary,object,version" identifier , (comma_expression "is_ordinary,object,version" identifier , (comma_expression "object,version" identifier , identifier))))) ))) --) ;) (if_statement "if (-1 < *(int *)&(tosym->super_Symbol).field_0x28 << 0x15) {\n    return;\n  }" if (parenthesized_expression "(-1 < *(int *)&(tosym->super_Symbol).field_0x28 << 0x15)" ( (binary_expression "-1 < *(int *)&(tosym->super_Symbol).field_0x28 << 0x15" number_literal < (binary_expression "*(int *)&(tosym->super_Symbol).field_0x28 << 0x15" (pointer_expression "*(int *)&(tosym->super_Symbol).field_0x28" * (cast_expression "(int *)&(tosym->super_Symbol).field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(tosym->super_Symbol).field_0x28" & (field_expression "(tosym->super_Symbol).field_0x28" (parenthesized_expression "(tosym->super_Symbol)" ( (field_expression "tosym->super_Symbol" identifier -> field_identifier) )) . field_identifier)))) << number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_34 = (code *)PTR_operator___004c4ab4;" (assignment_expression "local_34 = (code *)PTR_operator___004c4ab4" identifier = (cast_expression "(code *)PTR_operator___004c4ab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar22 = &this->weak_aliases_;" (assignment_expression "puVar22 = &this->weak_aliases_" identifier = (pointer_expression "&this->weak_aliases_" & (field_expression "this->weak_aliases_" identifier -> field_identifier))) ;) (expression_statement "local_40[0] = (anon_union_4_3_b582a2bd_for_u2_)tosym;" (assignment_expression "local_40[0] = (anon_union_4_3_b582a2bd_for_u2_)tosym" (subscript_expression "local_40[0]" identifier [ number_literal ]) = (cast_expression "(anon_union_4_3_b582a2bd_for_u2_)tosym" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_" type_identifier) ) identifier)) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)PTR_operator___004c4ab4)(puVar22,local_40);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)PTR_operator___004c4ab4)(puVar22,local_40)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator___004c4ab4)(puVar22,local_40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator___004c4ab4)(puVar22,local_40)" (parenthesized_expression "(*(code *)PTR_operator___004c4ab4)" ( (pointer_expression "*(code *)PTR_operator___004c4ab4" * (cast_expression "(code *)PTR_operator___004c4ab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar22,local_40)" ( identifier , identifier ))))) ;) (expression_statement "aVar13.shndx = (uint)&DAT_0000008b;" (assignment_expression "aVar13.shndx = (uint)&DAT_0000008b" (field_expression "aVar13.shndx" identifier . field_identifier) = (binary_expression "(uint)&DAT_0000008b" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (if_statement "if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);\n    while( true ) {\n      uVar4 = uVar20;\n      pOVar28 = object;\n      object_00 = (Object *)version;\n      (*local_38)(unaff_s6.shndx,fromsym,st_shndx);\n      local_40[0] = unaff_s6;\n      piVar3 = (int *)(*local_34)(puVar22,local_40);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*local_30)();\n      if (tosym == unaff_s6) {\n        return;\n      }\n    }\n    aVar13.shndx = (uint)&DAT_00000091;\n  }" if (parenthesized_expression "((Symbol_table *)*puVar2 != (Symbol_table *)0x0)" ( (binary_expression "(Symbol_table *)*puVar2 != (Symbol_table *)0x0" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);\n    while( true ) {\n      uVar4 = uVar20;\n      pOVar28 = object;\n      object_00 = (Object *)version;\n      (*local_38)(unaff_s6.shndx,fromsym,st_shndx);\n      local_40[0] = unaff_s6;\n      piVar3 = (int *)(*local_34)(puVar22,local_40);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*local_30)();\n      if (tosym == unaff_s6) {\n        return;\n      }\n    }\n    aVar13.shndx = (uint)&DAT_00000091;\n  }" { (expression_statement "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);" (assignment_expression "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700)" identifier = (cast_expression "(code *)(PTR_LAB_004c4fd8 + -0x3700)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_004c4fd8 + -0x3700)" ( (binary_expression "PTR_LAB_004c4fd8 + -0x3700" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);" (assignment_expression "unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b)" identifier = (binary_expression "(anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b)" (binary_expression "(anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64" (cast_expression "(anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_" type_identifier) ) identifier) < number_literal) > (parenthesized_expression "((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b)" ( (comma_expression "(Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)&DAT_0000008b" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000008b" & identifier))) )))) ;) (while_statement "while( true ) {\n      uVar4 = uVar20;\n      pOVar28 = object;\n      object_00 = (Object *)version;\n      (*local_38)(unaff_s6.shndx,fromsym,st_shndx);\n      local_40[0] = unaff_s6;\n      piVar3 = (int *)(*local_34)(puVar22,local_40);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*local_30)();\n      if (tosym == unaff_s6) {\n        return;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      uVar4 = uVar20;\n      pOVar28 = object;\n      object_00 = (Object *)version;\n      (*local_38)(unaff_s6.shndx,fromsym,st_shndx);\n      local_40[0] = unaff_s6;\n      piVar3 = (int *)(*local_34)(puVar22,local_40);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*local_30)();\n      if (tosym == unaff_s6) {\n        return;\n      }\n    }" { (expression_statement "uVar4 = uVar20;" (assignment_expression "uVar4 = uVar20" identifier = identifier) ;) (expression_statement "pOVar28 = object;" (assignment_expression "pOVar28 = object" identifier = identifier) ;) (expression_statement "object_00 = (Object *)version;" (assignment_expression "object_00 = (Object *)version" identifier = (cast_expression "(Object *)version" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*local_38)(unaff_s6.shndx,fromsym,st_shndx);" (call_expression "(*local_38)(unaff_s6.shndx,fromsym,st_shndx)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(unaff_s6.shndx,fromsym,st_shndx)" ( (field_expression "unaff_s6.shndx" identifier . field_identifier) , identifier , identifier ))) ;) (expression_statement "local_40[0] = unaff_s6;" (assignment_expression "local_40[0] = unaff_s6" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3 = (int *)(*local_34)(puVar22,local_40);" (assignment_expression "piVar3 = (int *)(*local_34)(puVar22,local_40)" identifier = (cast_expression "(int *)(*local_34)(puVar22,local_40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_34)(puVar22,local_40)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(puVar22,local_40)" ( identifier , identifier ))))) ;) (if_statement "if (*piVar3 == 0) break;" if (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "unaff_s6.shndx = (*local_30)();" (assignment_expression "unaff_s6.shndx = (*local_30)()" (field_expression "unaff_s6.shndx" identifier . field_identifier) = (call_expression "(*local_30)()" (parenthesized_expression "(*local_30)" ( (pointer_expression "*local_30" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (tosym == unaff_s6) {\n        return;\n      }" if (parenthesized_expression "(tosym == unaff_s6)" ( (binary_expression "tosym == unaff_s6" identifier == identifier) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "aVar13.shndx = (uint)&DAT_00000091;" (assignment_expression "aVar13.shndx = (uint)&DAT_00000091" (field_expression "aVar13.shndx" identifier . field_identifier) = (binary_expression "(uint)&DAT_00000091" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) })) (expression_statement "aVar15.object = (Object *)(PTR_UINT_004c12dc + -0x7294);" (assignment_expression "aVar15.object = (Object *)(PTR_UINT_004c12dc + -0x7294)" (field_expression "aVar15.object" identifier . field_identifier) = (cast_expression "(Object *)(PTR_UINT_004c12dc + -0x7294)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_004c12dc + -0x7294)" ( (binary_expression "PTR_UINT_004c12dc + -0x7294" identifier + number_literal) )))) ;) (ERROR "pcVar25 = override<64,_true>" (assignment_expression "pcVar25 = override<64" identifier = (binary_expression "override<64" identifier < number_literal)) (ERROR ",_true" , identifier) >) (expression_statement ";" ;) (expression_statement "puVar8 = PTR_UINT_004c12dc + -0x7758;" (assignment_expression "puVar8 = PTR_UINT_004c12dc + -0x7758" identifier = (binary_expression "PTR_UINT_004c12dc + -0x7758" identifier + number_literal)) ;) (expression_statement "puVar24 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar24 = 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 "pcStack_98 = *(code **)(puVar24 + 0x1b69b8);" (assignment_expression "pcStack_98 = *(code **)(puVar24 + 0x1b69b8)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1b69b8)" * (cast_expression "(code **)(puVar24 + 0x1b69b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1b69b8)" ( (binary_expression "puVar24 + 0x1b69b8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_74 = version;" (assignment_expression "pcStack_74 = version" identifier = identifier) ;) (expression_statement "pOStack_78 = object;" (assignment_expression "pOStack_78 = object" identifier = identifier) ;) (expression_statement "uVar21 = 0x4c9240;" (assignment_expression "uVar21 = 0x4c9240" identifier = number_literal) ;) (expression_statement "pSStack_88 = tosym;" (assignment_expression "pSStack_88 = tosym" identifier = identifier) ;) (expression_statement "pSStack_84 = fromsym;" (assignment_expression "pSStack_84 = fromsym" identifier = identifier) ;) (expression_statement "uStack_80 = st_shndx;" (assignment_expression "uStack_80 = st_shndx" identifier = identifier) ;) (expression_statement "uStack_7c = uVar20;" (assignment_expression "uStack_7c = uVar20" identifier = identifier) ;) (expression_statement "aStack_70 = unaff_s6;" (assignment_expression "aStack_70 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_6c = puVar22;" (assignment_expression "puStack_6c = puVar22" identifier = identifier) ;) (expression_statement "paStack_68 = local_40;" (assignment_expression "paStack_68 = local_40" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar25;" (assignment_expression "pcStack_64 = pcVar25" identifier = identifier) ;) (labeled_statement "Symbol::override_base<64,_true>\n            ((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option);" statement_identifier : (ERROR ":" :) (expression_statement "override_base<64,_true>\n            ((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option);" (comma_expression "override_base<64,_true>\n            ((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option)" (binary_expression "override_base<64" identifier < number_literal) , (binary_expression "_true>\n            ((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option)" identifier > (parenthesized_expression "((Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option)" ( (comma_expression "(Symbol *)aVar13,(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option)" (cast_expression "(Symbol *)aVar13" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (parenthesized_expression "(Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::default_options_.relax_.user_set_via_option)" ( (ERROR "Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options::" (comma_expression "Sym<64,_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options" (binary_expression "Sym<64" identifier < number_literal) , (comma_expression "_true> *)aVar15.object,uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options" (binary_expression "_true> *)aVar15.object" identifier > (pointer_expression "*)aVar15.object" * (ERROR ")" )) (field_expression "aVar15.object" identifier . field_identifier))) , (comma_expression "uVar4,SUB41(pOVar28,0),object_00,\n             &Position_dependent_options" identifier , (comma_expression "SUB41(pOVar28,0),object_00,\n             &Position_dependent_options" (call_expression "SUB41(pOVar28,0)" identifier (argument_list "(pOVar28,0)" ( identifier , number_literal ))) , (comma_expression "object_00,\n             &Position_dependent_options" identifier , (pointer_expression "&Position_dependent_options" & identifier)))))) : :) (field_expression "default_options_.relax_.user_set_via_option" (field_expression "default_options_.relax_" identifier . field_identifier) . field_identifier) ))) )))) ;)) (expression_statement "pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;" (assignment_expression "pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_" identifier = (field_expression "((Symbol *)&(aVar15.object)->_vptr_Object)->name_" (parenthesized_expression "((Symbol *)&(aVar15.object)->_vptr_Object)" ( (cast_expression "(Symbol *)&(aVar15.object)->_vptr_Object" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(aVar15.object)->_vptr_Object" & (field_expression "(aVar15.object)->_vptr_Object" (parenthesized_expression "(aVar15.object)" ( (field_expression "aVar15.object" identifier . field_identifier) )) -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);" (assignment_expression "aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8)" identifier = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 8)" ( (binary_expression "pcVar6 + 8" identifier + number_literal) ))))) ;) (expression_statement "aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);" (assignment_expression "aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14)" identifier = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);" (assignment_expression "aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10)" identifier = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x10)" ( (binary_expression "pcVar6 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x34) =\n       *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x34) =\n       *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc)" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x34)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x34)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar13.shndx + 0x34)" ( (binary_expression "aVar13.shndx + 0x34" (field_expression "aVar13.shndx" identifier . field_identifier) + number_literal) )))) = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x30) = aVar9;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x30) = aVar9" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x30)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x30)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar13.shndx + 0x30)" ( (binary_expression "aVar13.shndx + 0x30" (field_expression "aVar13.shndx" identifier . field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x3c) = aVar18;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x3c) = aVar18" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x3c)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x3c)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar13.shndx + 0x3c)" ( (binary_expression "aVar13.shndx + 0x3c" (field_expression "aVar13.shndx" identifier . field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x38) = aVar16;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x38) = aVar16" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x38)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x38)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar13.shndx + 0x38)" ( (binary_expression "aVar13.shndx + 0x38" (field_expression "aVar13.shndx" identifier . field_identifier) + number_literal) )))) = identifier) ;) (if_statement "if (-1 < (int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object << 0x15) {\n    return;\n  }" if (parenthesized_expression "(-1 < (int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object << 0x15)" ( (binary_expression "-1 < (int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object << 0x15" number_literal < (binary_expression "(int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object << 0x15" (cast_expression "(int)((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object" ( (type_descriptor "int" primitive_type) ) (field_expression "((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))->object" (parenthesized_expression "((anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28))" ( (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(aVar13.shndx + 0x28)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar13.shndx + 0x28)" ( (binary_expression "aVar13.shndx + 0x28" (field_expression "aVar13.shndx" identifier . field_identifier) + number_literal) ))) )) -> field_identifier)) << number_literal)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcStack_94 = *(code **)(puVar24 + 0x1b6470);" (assignment_expression "pcStack_94 = *(code **)(puVar24 + 0x1b6470)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1b6470)" * (cast_expression "(code **)(puVar24 + 0x1b6470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1b6470)" ( (binary_expression "puVar24 + 0x1b6470" identifier + number_literal) ))))) ;) (expression_statement "pGVar23 = (Got_offset_list *)(puVar8 + 0xb4);" (assignment_expression "pGVar23 = (Got_offset_list *)(puVar8 + 0xb4)" identifier = (cast_expression "(Got_offset_list *)(puVar8 + 0xb4)" ( (type_descriptor "Got_offset_list *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0xb4)" ( (binary_expression "puVar8 + 0xb4" identifier + number_literal) )))) ;) (expression_statement "aaStack_a0[0] = aVar13;" (assignment_expression "aaStack_a0[0] = aVar13" (subscript_expression "aaStack_a0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar2 = (undefined4 *)(*pcStack_94)(pGVar23,aaStack_a0);" (assignment_expression "puVar2 = (undefined4 *)(*pcStack_94)(pGVar23,aaStack_a0)" identifier = (cast_expression "(undefined4 *)(*pcStack_94)(pGVar23,aaStack_a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_94)(pGVar23,aaStack_a0)" (parenthesized_expression "(*pcStack_94)" ( (pointer_expression "*pcStack_94" * identifier) )) (argument_list "(pGVar23,aaStack_a0)" ( identifier , identifier ))))) ;) (expression_statement "aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x8b;" (assignment_expression "aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x8b" identifier = (cast_expression "(anon_union_4_3_b0f6f408_for_u1_)0x8b" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_" type_identifier) ) number_literal)) ;) (if_statement "if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n    pcStack_90 = (code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700);\n    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);\n    while( true ) {\n      (*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);\n      pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;\n      aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);\n      aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);\n      aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;\n      aaStack_a0[0] = unaff_s6;\n      piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*pcStack_90)();\n      if (aVar13.shndx == unaff_s6.shndx) {\n        return;\n      }\n    }\n    aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x91;\n  }" if (parenthesized_expression "((Symbol_table *)*puVar2 != (Symbol_table *)0x0)" ( (binary_expression "(Symbol_table *)*puVar2 != (Symbol_table *)0x0" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pcStack_90 = (code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700);\n    unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);\n    while( true ) {\n      (*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);\n      pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;\n      aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);\n      aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);\n      aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;\n      aaStack_a0[0] = unaff_s6;\n      piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*pcStack_90)();\n      if (aVar13.shndx == unaff_s6.shndx) {\n        return;\n      }\n    }\n    aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x91;\n  }" { (expression_statement "pcStack_90 = (code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700);" (assignment_expression "pcStack_90 = (code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700)" identifier = (cast_expression "(code *)(*(int *)(puVar24 + 0x1b6994) + -0x3700)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar24 + 0x1b6994) + -0x3700)" ( (binary_expression "*(int *)(puVar24 + 0x1b6994) + -0x3700" (pointer_expression "*(int *)(puVar24 + 0x1b6994)" * (cast_expression "(int *)(puVar24 + 0x1b6994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1b6994)" ( (binary_expression "puVar24 + 0x1b6994" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b);" (assignment_expression "unaff_s6 = (anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b)" identifier = (binary_expression "(anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b)" (binary_expression "(anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol<64" (cast_expression "(anon_union_4_3_b582a2bd_for_u2_)\n               get_sized_symbol" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_" type_identifier) ) identifier) < number_literal) > (parenthesized_expression "((Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b)" ( (comma_expression "(Symbol_table *)*puVar2,(Symbol *)&DAT_0000008b" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)&DAT_0000008b" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000008b" & identifier))) )))) ;) (while_statement "while( true ) {\n      (*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);\n      pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;\n      aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);\n      aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);\n      aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;\n      aaStack_a0[0] = unaff_s6;\n      piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*pcStack_90)();\n      if (aVar13.shndx == unaff_s6.shndx) {\n        return;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      (*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);\n      pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;\n      aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);\n      aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);\n      aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;\n      aaStack_a0[0] = unaff_s6;\n      piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);\n      if (*piVar3 == 0) break;\n      unaff_s6.shndx = (*pcStack_90)();\n      if (aVar13.shndx == unaff_s6.shndx) {\n        return;\n      }\n    }" { (expression_statement "(*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff);" (call_expression "(*pcStack_98)(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff)" (parenthesized_expression "(*pcStack_98)" ( (pointer_expression "*pcStack_98" * identifier) )) (argument_list "(unaff_s6.shndx,aVar15.object,uVar4,(uint)pOVar28 & 0xff)" ( (field_expression "unaff_s6.shndx" identifier . field_identifier) , (field_expression "aVar15.object" identifier . field_identifier) , identifier , (binary_expression "(uint)pOVar28 & 0xff" (cast_expression "(uint)pOVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_;" (assignment_expression "pcVar6 = ((Symbol *)&(aVar15.object)->_vptr_Object)->name_" identifier = (field_expression "((Symbol *)&(aVar15.object)->_vptr_Object)->name_" (parenthesized_expression "((Symbol *)&(aVar15.object)->_vptr_Object)" ( (cast_expression "(Symbol *)&(aVar15.object)->_vptr_Object" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(aVar15.object)->_vptr_Object" & (field_expression "(aVar15.object)->_vptr_Object" (parenthesized_expression "(aVar15.object)" ( (field_expression "aVar15.object" identifier . field_identifier) )) -> field_identifier))) )) -> field_identifier)) ;) (expression_statement "aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8);" (assignment_expression "aVar9 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8)" identifier = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 8)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 8)" ( (binary_expression "pcVar6 + 8" identifier + number_literal) ))))) ;) (expression_statement "aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14);" (assignment_expression "aVar18 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14)" identifier = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x14)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x14)" ( (binary_expression "pcVar6 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10);" (assignment_expression "aVar16 = *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10)" identifier = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0x10)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0x10)" ( (binary_expression "pcVar6 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc);" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34) =\n           *(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc)" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x34)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6.shndx + 0x34)" ( (binary_expression "unaff_s6.shndx + 0x34" (field_expression "unaff_s6.shndx" identifier . field_identifier) + number_literal) )))) = (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(pcVar6 + 0xc)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar6 + 0xc)" ( (binary_expression "pcVar6 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30) = aVar9" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x30)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6.shndx + 0x30)" ( (binary_expression "unaff_s6.shndx + 0x30" (field_expression "unaff_s6.shndx" identifier . field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c) = aVar18" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x3c)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6.shndx + 0x3c)" ( (binary_expression "unaff_s6.shndx + 0x3c" (field_expression "unaff_s6.shndx" identifier . field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38) = aVar16" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38)" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)(unaff_s6.shndx + 0x38)" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6.shndx + 0x38)" ( (binary_expression "unaff_s6.shndx + 0x38" (field_expression "unaff_s6.shndx" identifier . field_identifier) + number_literal) )))) = identifier) ;) (expression_statement "aaStack_a0[0] = unaff_s6;" (assignment_expression "aaStack_a0[0] = unaff_s6" (subscript_expression "aaStack_a0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0);" (assignment_expression "piVar3 = (int *)(*pcStack_94)(pGVar23,aaStack_a0)" identifier = (cast_expression "(int *)(*pcStack_94)(pGVar23,aaStack_a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_94)(pGVar23,aaStack_a0)" (parenthesized_expression "(*pcStack_94)" ( (pointer_expression "*pcStack_94" * identifier) )) (argument_list "(pGVar23,aaStack_a0)" ( identifier , identifier ))))) ;) (if_statement "if (*piVar3 == 0) break;" if (parenthesized_expression "(*piVar3 == 0)" ( (binary_expression "*piVar3 == 0" (pointer_expression "*piVar3" * identifier) == number_literal) )) (break_statement "break;" break ;)) (expression_statement "unaff_s6.shndx = (*pcStack_90)();" (assignment_expression "unaff_s6.shndx = (*pcStack_90)()" (field_expression "unaff_s6.shndx" identifier . field_identifier) = (call_expression "(*pcStack_90)()" (parenthesized_expression "(*pcStack_90)" ( (pointer_expression "*pcStack_90" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (aVar13.shndx == unaff_s6.shndx) {\n        return;\n      }" if (parenthesized_expression "(aVar13.shndx == unaff_s6.shndx)" ( (binary_expression "aVar13.shndx == unaff_s6.shndx" (field_expression "aVar13.shndx" identifier . field_identifier) == (field_expression "unaff_s6.shndx" identifier . field_identifier)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) (expression_statement "aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x91;" (assignment_expression "aVar9 = (anon_union_4_3_b0f6f408_for_u1_)0x91" identifier = (cast_expression "(anon_union_4_3_b0f6f408_for_u1_)0x91" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_" type_identifier) ) number_literal)) ;) })) (expression_statement "pcVar25 = *(code **)(puVar24 + 0x1b33ec);" (assignment_expression "pcVar25 = *(code **)(puVar24 + 0x1b33ec)" identifier = (pointer_expression "*(code **)(puVar24 + 0x1b33ec)" * (cast_expression "(code **)(puVar24 + 0x1b33ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x1b33ec)" ( (binary_expression "puVar24 + 0x1b33ec" identifier + number_literal) ))))) ;) (expression_statement "from.shndx = *(int *)(puVar24 + 0x1b2c98) - 0x72c4;" (assignment_expression "from.shndx = *(int *)(puVar24 + 0x1b2c98) - 0x72c4" (field_expression "from.shndx" identifier . field_identifier) = (binary_expression "*(int *)(puVar24 + 0x1b2c98) - 0x72c4" (pointer_expression "*(int *)(puVar24 + 0x1b2c98)" * (cast_expression "(int *)(puVar24 + 0x1b2c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1b2c98)" ( (binary_expression "puVar24 + 0x1b2c98" identifier + number_literal) )))) - number_literal)) ;) (expression_statement "pcVar26 = override_with_special<32>;\n  iVar10 = *(int *)(puVar24 + 0x1b2c98) + -0x7758;" (assignment_expression "pcVar26 = override_with_special<32>;\n  iVar10 = *(int *)(puVar24 + 0x1b2c98) + -0x7758" identifier = (binary_expression "override_with_special<32>;\n  iVar10 = *(int *)(puVar24 + 0x1b2c98) + -0x7758" (binary_expression "override_with_special<32" identifier < number_literal) > (ERROR ";" ;) (assignment_expression "iVar10 = *(int *)(puVar24 + 0x1b2c98) + -0x7758" identifier = (binary_expression "*(int *)(puVar24 + 0x1b2c98) + -0x7758" (pointer_expression "*(int *)(puVar24 + 0x1b2c98)" * (cast_expression "(int *)(puVar24 + 0x1b2c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + 0x1b2c98)" ( (binary_expression "puVar24 + 0x1b2c98" identifier + number_literal) )))) + number_literal)))) ;) (expression_statement "(*pcVar25)();" (call_expression "(*pcVar25)()" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStackY_f8 = pcVar25 + 0x1baa40;" (assignment_expression "pcStackY_f8 = pcVar25 + 0x1baa40" identifier = (binary_expression "pcVar25 + 0x1baa40" identifier + number_literal)) ;) (expression_statement "uStackY_d4 = 0x4c9240;" (assignment_expression "uStackY_d4 = 0x4c9240" identifier = number_literal) ;) (expression_statement "uVar20 = *(uint *)(pcVar25 + 0x1b6800);" (assignment_expression "uVar20 = *(uint *)(pcVar25 + 0x1b6800)" identifier = (pointer_expression "*(uint *)(pcVar25 + 0x1b6800)" * (cast_expression "(uint *)(pcVar25 + 0x1b6800)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + 0x1b6800)" ( (binary_expression "pcVar25 + 0x1b6800" identifier + number_literal) ))))) ;) (expression_statement "aStackY_e8 = aVar15;" (assignment_expression "aStackY_e8 = aVar15" identifier = identifier) ;) (expression_statement "aStackY_e4 = aVar13;" (assignment_expression "aStackY_e4 = aVar13" identifier = identifier) ;) (expression_statement "uStackY_e0 = uVar4;" (assignment_expression "uStackY_e0 = uVar4" identifier = identifier) ;) (expression_statement "uStackY_dc = (uint)pOVar28 & 0xff;" (assignment_expression "uStackY_dc = (uint)pOVar28 & 0xff" identifier = (binary_expression "(uint)pOVar28 & 0xff" (cast_expression "(uint)pOVar28" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pOStackY_d8 = object_00;" (assignment_expression "pOStackY_d8 = object_00" identifier = identifier) ;) (expression_statement "aStackY_d0 = unaff_s6;" (assignment_expression "aStackY_d0 = unaff_s6" identifier = identifier) ;) (expression_statement "pGStackY_cc = pGVar23;" (assignment_expression "pGStackY_cc = pGVar23" identifier = identifier) ;) (expression_statement "paStackY_c8 = aaStack_a0;" (assignment_expression "paStackY_c8 = aaStack_a0" identifier = identifier) ;) (expression_statement "pcStackY_c4 = pcVar26;" (assignment_expression "pcStackY_c4 = pcVar26" identifier = identifier) ;) (labeled_statement "Symbol::override_base_with_special((Symbol *)aVar9.object,(Symbol *)from);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special((Symbol *)aVar9.object,(Symbol *)from);" (call_expression "override_base_with_special((Symbol *)aVar9.object,(Symbol *)from)" identifier (argument_list "((Symbol *)aVar9.object,(Symbol *)from)" ( (cast_expression "(Symbol *)aVar9.object" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar9.object" identifier . field_identifier)) , (cast_expression "(Symbol *)from" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "uVar4 = (aVar9.object)->shnum_;" (assignment_expression "uVar4 = (aVar9.object)->shnum_" identifier = (field_expression "(aVar9.object)->shnum_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);" (assignment_expression "pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34)" identifier = (pointer_expression "*(Compressed_section_map **)(from.shndx + 0x34)" * (cast_expression "(Compressed_section_map **)(from.shndx + 0x34)" ( (type_descriptor "Compressed_section_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(from.shndx + 0x34)" ( (binary_expression "from.shndx + 0x34" (field_expression "from.shndx" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "(aVar9.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;" (assignment_expression "(aVar9.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_" (field_expression "(aVar9.object)->xindex_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Xindex *)((Symbol *)(from.shndx + 0x30))->name_" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((Symbol *)(from.shndx + 0x30))->name_" (parenthesized_expression "((Symbol *)(from.shndx + 0x30))" ( (cast_expression "(Symbol *)(from.shndx + 0x30)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from.shndx + 0x30)" ( (binary_expression "from.shndx + 0x30" (field_expression "from.shndx" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) ;) (expression_statement "(aVar9.object)->compressed_sections_ = pCVar11;" (assignment_expression "(aVar9.object)->compressed_sections_ = pCVar11" (field_expression "(aVar9.object)->compressed_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (if_statement "if ((int)(uVar4 << 0x15) < 0) {\n    pGVar23 = *(Got_offset_list **)(pcStackY_f8 + -0x478c);\n    uVar21 = iVar10 + 0xb4;\n    unaff_s6.shndx = (uint)&aStackY_f0;\n    aStackY_f0 = aVar9;\n    puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx);\n    uVar14 = 0x457;\n    if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n      object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);\n      aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);\n      do {\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      } while (aVar9.object != aVar15.object);\n      uVar4 = (aVar9.object)->shnum_;\n      goto LAB_0030e87c;\n    }\nLAB_0030e9f0:\n    pcVar25 = pcStackY_f8;\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64) + -0x72ec;\n    (**(code **)(pcStackY_f8 + -0x7810))(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14);\n  }\n  else {\nLAB_0030e87c:\n    uVar1 = (uVar4 << 4) >> 0x1c;\n    if (uVar1 == 0) {\nLAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);\n      return;\n    }\n    if ((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))) {\n      return;\n    }\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64);\n    pcVar25 = pcStackY_f8;\n    if (*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0) {\n      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }\n      goto LAB_0030e904;\n    }\n  }" if (parenthesized_expression "((int)(uVar4 << 0x15) < 0)" ( (binary_expression "(int)(uVar4 << 0x15) < 0" (cast_expression "(int)(uVar4 << 0x15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar4 << 0x15)" ( (binary_expression "uVar4 << 0x15" identifier << number_literal) ))) < number_literal) )) (compound_statement "{\n    pGVar23 = *(Got_offset_list **)(pcStackY_f8 + -0x478c);\n    uVar21 = iVar10 + 0xb4;\n    unaff_s6.shndx = (uint)&aStackY_f0;\n    aStackY_f0 = aVar9;\n    puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx);\n    uVar14 = 0x457;\n    if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n      object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);\n      aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);\n      do {\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      } while (aVar9.object != aVar15.object);\n      uVar4 = (aVar9.object)->shnum_;\n      goto LAB_0030e87c;\n    }\nLAB_0030e9f0:\n    pcVar25 = pcStackY_f8;\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64) + -0x72ec;\n    (**(code **)(pcStackY_f8 + -0x7810))(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14);\n  }" { (expression_statement "pGVar23 = *(Got_offset_list **)(pcStackY_f8 + -0x478c);" (assignment_expression "pGVar23 = *(Got_offset_list **)(pcStackY_f8 + -0x478c)" identifier = (pointer_expression "*(Got_offset_list **)(pcStackY_f8 + -0x478c)" * (cast_expression "(Got_offset_list **)(pcStackY_f8 + -0x478c)" ( (type_descriptor "Got_offset_list **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_f8 + -0x478c)" ( (binary_expression "pcStackY_f8 + -0x478c" identifier + number_literal) ))))) ;) (expression_statement "uVar21 = iVar10 + 0xb4;" (assignment_expression "uVar21 = iVar10 + 0xb4" identifier = (binary_expression "iVar10 + 0xb4" identifier + number_literal)) ;) (expression_statement "unaff_s6.shndx = (uint)&aStackY_f0;" (assignment_expression "unaff_s6.shndx = (uint)&aStackY_f0" (field_expression "unaff_s6.shndx" identifier . field_identifier) = (binary_expression "(uint)&aStackY_f0" (parenthesized_expression "(uint)" ( identifier )) & identifier)) ;) (expression_statement "aStackY_f0 = aVar9;" (assignment_expression "aStackY_f0 = aVar9" identifier = identifier) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx)" identifier = (cast_expression "(undefined4 *)(*(code *)pGVar23)(uVar21,unaff_s6.shndx)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pGVar23)(uVar21,unaff_s6.shndx)" (parenthesized_expression "(*(code *)pGVar23)" ( (pointer_expression "*(code *)pGVar23" * (cast_expression "(code *)pGVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar21,unaff_s6.shndx)" ( identifier , (field_expression "unaff_s6.shndx" identifier . field_identifier) ))))) ;) (expression_statement "uVar14 = 0x457;" (assignment_expression "uVar14 = 0x457" identifier = number_literal) ;) (if_statement "if ((Symbol_table *)*puVar2 != (Symbol_table *)0x0) {\n      object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);\n      aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);\n      do {\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      } while (aVar9.object != aVar15.object);\n      uVar4 = (aVar9.object)->shnum_;\n      goto LAB_0030e87c;\n    }" if (parenthesized_expression "((Symbol_table *)*puVar2 != (Symbol_table *)0x0)" ( (binary_expression "(Symbol_table *)*puVar2 != (Symbol_table *)0x0" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) != (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);\n      aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);\n      do {\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      } while (aVar9.object != aVar15.object);\n      uVar4 = (aVar9.object)->shnum_;\n      goto LAB_0030e87c;\n    }" { (expression_statement "object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780);" (assignment_expression "object_00 = (Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780)" identifier = (cast_expression "(Object *)(*(int *)(pcStackY_f8 + -17000) + -0x3780)" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStackY_f8 + -17000) + -0x3780)" ( (binary_expression "*(int *)(pcStackY_f8 + -17000) + -0x3780" (pointer_expression "*(int *)(pcStackY_f8 + -17000)" * (cast_expression "(int *)(pcStackY_f8 + -17000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStackY_f8 + -17000)" ( (binary_expression "pcStackY_f8 + -17000" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457);" (assignment_expression "aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457)" (field_expression "aVar15.object" identifier . field_identifier) = (binary_expression "(Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)0x457)" (binary_expression "(Object *)get_sized_symbol<32" (cast_expression "(Object *)get_sized_symbol" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < number_literal) > (parenthesized_expression "((Symbol_table *)*puVar2,(Symbol *)0x457)" ( (comma_expression "(Symbol_table *)*puVar2,(Symbol *)0x457" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)0x457" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (do_statement "do {\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      } while (aVar9.object != aVar15.object);" do (compound_statement "{\n        Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);\n        pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);\n        (aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;\n        (aVar15.object)->compressed_sections_ = pCVar11;\n        aVar13.shndx = unaff_s6.shndx;\n        aStackY_f0 = aVar15;\n        puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);\n        if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }\n        aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);\n      }" { (labeled_statement "Symbol::override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special((Symbol *)aVar15.object,(Symbol *)from);" (call_expression "override_base_with_special((Symbol *)aVar15.object,(Symbol *)from)" identifier (argument_list "((Symbol *)aVar15.object,(Symbol *)from)" ( (cast_expression "(Symbol *)aVar15.object" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar15.object" identifier . field_identifier)) , (cast_expression "(Symbol *)from" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34);" (assignment_expression "pCVar11 = *(Compressed_section_map **)(from.shndx + 0x34)" identifier = (pointer_expression "*(Compressed_section_map **)(from.shndx + 0x34)" * (cast_expression "(Compressed_section_map **)(from.shndx + 0x34)" ( (type_descriptor "Compressed_section_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(from.shndx + 0x34)" ( (binary_expression "from.shndx + 0x34" (field_expression "from.shndx" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "(aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_;" (assignment_expression "(aVar15.object)->xindex_ = (Xindex *)((Symbol *)(from.shndx + 0x30))->name_" (field_expression "(aVar15.object)->xindex_" (parenthesized_expression "(aVar15.object)" ( (field_expression "aVar15.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Xindex *)((Symbol *)(from.shndx + 0x30))->name_" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((Symbol *)(from.shndx + 0x30))->name_" (parenthesized_expression "((Symbol *)(from.shndx + 0x30))" ( (cast_expression "(Symbol *)(from.shndx + 0x30)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(from.shndx + 0x30)" ( (binary_expression "from.shndx + 0x30" (field_expression "from.shndx" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) ;) (expression_statement "(aVar15.object)->compressed_sections_ = pCVar11;" (assignment_expression "(aVar15.object)->compressed_sections_ = pCVar11" (field_expression "(aVar15.object)->compressed_sections_" (parenthesized_expression "(aVar15.object)" ( (field_expression "aVar15.object" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "aVar13.shndx = unaff_s6.shndx;" (assignment_expression "aVar13.shndx = unaff_s6.shndx" (field_expression "aVar13.shndx" identifier . field_identifier) = (field_expression "unaff_s6.shndx" identifier . field_identifier)) ;) (expression_statement "aStackY_f0 = aVar15;" (assignment_expression "aStackY_f0 = aVar15" identifier = identifier) ;) (expression_statement "puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21);" (assignment_expression "puVar2 = (undefined4 *)(*(code *)pGVar23)(uVar21)" identifier = (cast_expression "(undefined4 *)(*(code *)pGVar23)(uVar21)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pGVar23)(uVar21)" (parenthesized_expression "(*(code *)pGVar23)" ( (pointer_expression "*(code *)pGVar23" * (cast_expression "(code *)pGVar23" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar21)" ( identifier ))))) ;) (if_statement "if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }" if (parenthesized_expression "((Symbol_table *)*puVar2 == (Symbol_table *)0x0)" ( (binary_expression "(Symbol_table *)*puVar2 == (Symbol_table *)0x0" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar14 = 0x45d;\n          goto LAB_0030e9f0;\n        }" { (expression_statement "uVar14 = 0x45d;" (assignment_expression "uVar14 = 0x45d" identifier = number_literal) ;) (goto_statement "goto LAB_0030e9f0;" goto statement_identifier ;) })) (expression_statement "aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13);" (assignment_expression "aVar15.object = (Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13)" (field_expression "aVar15.object" identifier . field_identifier) = (binary_expression "(Object *)get_sized_symbol<32>((Symbol_table *)*puVar2,(Symbol *)aVar13)" (binary_expression "(Object *)get_sized_symbol<32" (cast_expression "(Object *)get_sized_symbol" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < number_literal) > (parenthesized_expression "((Symbol_table *)*puVar2,(Symbol *)aVar13)" ( (comma_expression "(Symbol_table *)*puVar2,(Symbol *)aVar13" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)aVar13" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) }) while (parenthesized_expression "(aVar9.object != aVar15.object)" ( (binary_expression "aVar9.object != aVar15.object" (field_expression "aVar9.object" identifier . field_identifier) != (field_expression "aVar15.object" identifier . field_identifier)) )) ;) (expression_statement "uVar4 = (aVar9.object)->shnum_;" (assignment_expression "uVar4 = (aVar9.object)->shnum_" identifier = (field_expression "(aVar9.object)->shnum_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)) ;) (goto_statement "goto LAB_0030e87c;" goto statement_identifier ;) })) (labeled_statement "LAB_0030e9f0:\n    pcVar25 = pcStackY_f8;" statement_identifier : (expression_statement "pcVar25 = pcStackY_f8;" (assignment_expression "pcVar25 = pcStackY_f8" identifier = identifier) ;)) (expression_statement "iVar17 = *(int *)(pcStackY_f8 + -0x7f64) + -0x72ec;" (assignment_expression "iVar17 = *(int *)(pcStackY_f8 + -0x7f64) + -0x72ec" identifier = (binary_expression "*(int *)(pcStackY_f8 + -0x7f64) + -0x72ec" (pointer_expression "*(int *)(pcStackY_f8 + -0x7f64)" * (cast_expression "(int *)(pcStackY_f8 + -0x7f64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStackY_f8 + -0x7f64)" ( (binary_expression "pcStackY_f8 + -0x7f64" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcStackY_f8 + -0x7810))(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14);" (call_expression "(**(code **)(pcStackY_f8 + -0x7810))(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14)" (parenthesized_expression "(**(code **)(pcStackY_f8 + -0x7810))" ( (pointer_expression "**(code **)(pcStackY_f8 + -0x7810)" * (pointer_expression "*(code **)(pcStackY_f8 + -0x7810)" * (cast_expression "(code **)(pcStackY_f8 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_f8 + -0x7810)" ( (binary_expression "pcStackY_f8 + -0x7810" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStackY_f8 + -0x7f64) + -0x7758,uVar14)" ( (binary_expression "*(int *)(pcStackY_f8 + -0x7f64) + -0x7758" (pointer_expression "*(int *)(pcStackY_f8 + -0x7f64)" * (cast_expression "(int *)(pcStackY_f8 + -0x7f64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStackY_f8 + -0x7f64)" ( (binary_expression "pcStackY_f8 + -0x7f64" identifier + number_literal) )))) + number_literal) , identifier ))) ;) }) (else_clause "else {\nLAB_0030e87c:\n    uVar1 = (uVar4 << 4) >> 0x1c;\n    if (uVar1 == 0) {\nLAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);\n      return;\n    }\n    if ((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))) {\n      return;\n    }\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64);\n    pcVar25 = pcStackY_f8;\n    if (*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0) {\n      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }\n      goto LAB_0030e904;\n    }\n  }" else (compound_statement "{\nLAB_0030e87c:\n    uVar1 = (uVar4 << 4) >> 0x1c;\n    if (uVar1 == 0) {\nLAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);\n      return;\n    }\n    if ((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))) {\n      return;\n    }\n    iVar17 = *(int *)(pcStackY_f8 + -0x7f64);\n    pcVar25 = pcStackY_f8;\n    if (*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0) {\n      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }\n      goto LAB_0030e904;\n    }\n  }" { (labeled_statement "LAB_0030e87c:\n    uVar1 = (uVar4 << 4) >> 0x1c;" statement_identifier : (expression_statement "uVar1 = (uVar4 << 4) >> 0x1c;" (assignment_expression "uVar1 = (uVar4 << 4) >> 0x1c" identifier = (binary_expression "(uVar4 << 4) >> 0x1c" (parenthesized_expression "(uVar4 << 4)" ( (binary_expression "uVar4 << 4" identifier << number_literal) )) >> number_literal)) ;)) (if_statement "if (uVar1 == 0) {\nLAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);\n      return;\n    }" if (parenthesized_expression "(uVar1 == 0)" ( (binary_expression "uVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);\n      return;\n    }" { (labeled_statement "LAB_0030e904:\n      (**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);" statement_identifier : (expression_statement "(**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object);" (call_expression "(**(code **)(pcStackY_f8 + -0x481c))(iVar10,aVar9.object)" (parenthesized_expression "(**(code **)(pcStackY_f8 + -0x481c))" ( (pointer_expression "**(code **)(pcStackY_f8 + -0x481c)" * (pointer_expression "*(code **)(pcStackY_f8 + -0x481c)" * (cast_expression "(code **)(pcStackY_f8 + -0x481c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_f8 + -0x481c)" ( (binary_expression "pcStackY_f8 + -0x481c" identifier + number_literal) ))))) )) (argument_list "(iVar10,aVar9.object)" ( identifier , (field_expression "aVar9.object" identifier . field_identifier) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if ((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))) {\n      return;\n    }" if (parenthesized_expression "((1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10))))" ( (binary_expression "(1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)) || ((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))" (parenthesized_expression "(1 < (((uVar4 << 8) >> 0x1e) + 3 & 3))" ( (binary_expression "1 < (((uVar4 << 8) >> 0x1e) + 3 & 3)" number_literal < (parenthesized_expression "(((uVar4 << 8) >> 0x1e) + 3 & 3)" ( (binary_expression "((uVar4 << 8) >> 0x1e) + 3 & 3" (binary_expression "((uVar4 << 8) >> 0x1e) + 3" (parenthesized_expression "((uVar4 << 8) >> 0x1e)" ( (binary_expression "(uVar4 << 8) >> 0x1e" (parenthesized_expression "(uVar4 << 8)" ( (binary_expression "uVar4 << 8" identifier << number_literal) )) >> number_literal) )) + number_literal) & number_literal) ))) )) || (parenthesized_expression "((1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)))" ( (parenthesized_expression "(1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10))" ( (binary_expression "1 < (uVar1 + 0xf & 0xf) && (uVar1 != 10)" (binary_expression "1 < (uVar1 + 0xf & 0xf)" number_literal < (parenthesized_expression "(uVar1 + 0xf & 0xf)" ( (binary_expression "uVar1 + 0xf & 0xf" (binary_expression "uVar1 + 0xf" identifier + number_literal) & number_literal) ))) && (parenthesized_expression "(uVar1 != 10)" ( (binary_expression "uVar1 != 10" identifier != number_literal) ))) )) ))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "iVar17 = *(int *)(pcStackY_f8 + -0x7f64);" (assignment_expression "iVar17 = *(int *)(pcStackY_f8 + -0x7f64)" identifier = (pointer_expression "*(int *)(pcStackY_f8 + -0x7f64)" * (cast_expression "(int *)(pcStackY_f8 + -0x7f64)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStackY_f8 + -0x7f64)" ( (binary_expression "pcStackY_f8 + -0x7f64" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = pcStackY_f8;" (assignment_expression "pcVar25 = pcStackY_f8" identifier = identifier) ;) (if_statement "if (*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0) {\n      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }\n      goto LAB_0030e904;\n    }" if (parenthesized_expression "(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0)" ( (binary_expression "*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) != 0" (pointer_expression "*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8)" * (cast_expression "(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcStackY_f8 + -0x788c) + 8)" ( (binary_expression "**(int **)(pcStackY_f8 + -0x788c) + 8" (pointer_expression "**(int **)(pcStackY_f8 + -0x788c)" * (pointer_expression "*(int **)(pcStackY_f8 + -0x788c)" * (cast_expression "(int **)(pcStackY_f8 + -0x788c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_f8 + -0x788c)" ( (binary_expression "pcStackY_f8 + -0x788c" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }\n      goto LAB_0030e904;\n    }" { (if_statement "if (*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0') {\n        return;\n      }" if (parenthesized_expression "(*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0')" ( (binary_expression "*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195) != '\0'" (pointer_expression "*(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195)" ( (binary_expression "*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8) + 0x3195" (pointer_expression "*(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8)" * (cast_expression "(int *)(**(int **)(pcStackY_f8 + -0x788c) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcStackY_f8 + -0x788c) + 8)" ( (binary_expression "**(int **)(pcStackY_f8 + -0x788c) + 8" (pointer_expression "**(int **)(pcStackY_f8 + -0x788c)" * (pointer_expression "*(int **)(pcStackY_f8 + -0x788c)" * (cast_expression "(int **)(pcStackY_f8 + -0x788c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStackY_f8 + -0x788c)" ( (binary_expression "pcStackY_f8 + -0x788c" identifier + number_literal) ))))) + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (goto_statement "goto LAB_0030e904;" goto statement_identifier ;) })) }))) (expression_statement "this_01 = (Sized_symbol<64> *)&DAT_0000005c;" (assignment_expression "this_01 = (Sized_symbol<64> *)&DAT_0000005c" identifier = (binary_expression "(Sized_symbol<64> *)&DAT_0000005c" (parenthesized_expression "(Sized_symbol<64> *)" ( (binary_expression "Sized_symbol<64> *" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) & identifier)) ;) (expression_statement "pcVar26 = *(code **)(pcVar25 + -0x7810);" (assignment_expression "pcVar26 = *(code **)(pcVar25 + -0x7810)" identifier = (pointer_expression "*(code **)(pcVar25 + -0x7810)" * (cast_expression "(code **)(pcVar25 + -0x7810)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + -0x7810)" ( (binary_expression "pcVar25 + -0x7810" identifier + number_literal) ))))) ;) (expression_statement "from_00 = (Symbol *)(iVar17 + -0x71c4);" (assignment_expression "from_00 = (Symbol *)(iVar17 + -0x71c4)" identifier = (cast_expression "(Symbol *)(iVar17 + -0x71c4)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + -0x71c4)" ( (binary_expression "iVar17 + -0x71c4" identifier + number_literal) )))) ;) (expression_statement "pcVar27 = override_with_special<64>;\n  iVar17 = *(int *)(pcVar25 + -0x7fc4) + -0x9b8;" (assignment_expression "pcVar27 = override_with_special<64>;\n  iVar17 = *(int *)(pcVar25 + -0x7fc4) + -0x9b8" identifier = (binary_expression "override_with_special<64>;\n  iVar17 = *(int *)(pcVar25 + -0x7fc4) + -0x9b8" (binary_expression "override_with_special<64" identifier < number_literal) > (ERROR ";" ;) (assignment_expression "iVar17 = *(int *)(pcVar25 + -0x7fc4) + -0x9b8" identifier = (binary_expression "*(int *)(pcVar25 + -0x7fc4) + -0x9b8" (pointer_expression "*(int *)(pcVar25 + -0x7fc4)" * (cast_expression "(int *)(pcVar25 + -0x7fc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar25 + -0x7fc4)" ( (binary_expression "pcVar25 + -0x7fc4" identifier + number_literal) )))) + number_literal)))) ;) (expression_statement "(*pcVar26)(iVar17);" (call_expression "(*pcVar26)(iVar17)" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "(iVar17)" ( identifier ))) ;) (expression_statement "auStackY_138._8_4_ = aVar15;" (assignment_expression "auStackY_138._8_4_ = aVar15" (field_expression "auStackY_138._8_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._12_4_ = from;" (assignment_expression "auStackY_138._12_4_ = from" (field_expression "auStackY_138._12_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._16_4_ = aVar9;" (assignment_expression "auStackY_138._16_4_ = aVar9" (field_expression "auStackY_138._16_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._20_4_ = uVar20;" (assignment_expression "auStackY_138._20_4_ = uVar20" (field_expression "auStackY_138._20_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._24_4_ = object_00;" (assignment_expression "auStackY_138._24_4_ = object_00" (field_expression "auStackY_138._24_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._28_4_ = uVar21;" (assignment_expression "auStackY_138._28_4_ = uVar21" (field_expression "auStackY_138._28_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._32_4_ = unaff_s6;" (assignment_expression "auStackY_138._32_4_ = unaff_s6" (field_expression "auStackY_138._32_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._36_4_ = pGVar23;" (assignment_expression "auStackY_138._36_4_ = pGVar23" (field_expression "auStackY_138._36_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._40_4_ = iVar10;" (assignment_expression "auStackY_138._40_4_ = iVar10" (field_expression "auStackY_138._40_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStackY_138._44_4_ = pcVar27;" (assignment_expression "auStackY_138._44_4_ = pcVar27" (field_expression "auStackY_138._44_4_" identifier . field_identifier) = identifier) ;) (labeled_statement "Symbol::override_base_with_special(&this_01->super_Symbol,from_00);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special(&this_01->super_Symbol,from_00);" (call_expression "override_base_with_special(&this_01->super_Symbol,from_00)" identifier (argument_list "(&this_01->super_Symbol,from_00)" ( (pointer_expression "&this_01->super_Symbol" & (field_expression "this_01->super_Symbol" identifier -> field_identifier)) , identifier ))) ;)) (expression_statement "iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;" (assignment_expression "iVar10 = *(int *)&(this_01->super_Symbol).field_0x28" identifier = (pointer_expression "*(int *)&(this_01->super_Symbol).field_0x28" * (cast_expression "(int *)&(this_01->super_Symbol).field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this_01->super_Symbol).field_0x28" & (field_expression "(this_01->super_Symbol).field_0x28" (parenthesized_expression "(this_01->super_Symbol)" ( (field_expression "this_01->super_Symbol" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "pcVar6 = from_00[1].name_;" (assignment_expression "pcVar6 = from_00[1].name_" identifier = (field_expression "from_00[1].name_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "aVar13 = from_00[1].u2_;" (assignment_expression "aVar13 = from_00[1].u2_" identifier = (field_expression "from_00[1].u2_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "aVar15 = from_00[1].u1_;" (assignment_expression "aVar15 = from_00[1].u1_" identifier = (field_expression "from_00[1].u1_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(char **)((int)&this_01->value_ + 4) = from_00[1].version_;" (assignment_expression "*(char **)((int)&this_01->value_ + 4) = from_00[1].version_" (pointer_expression "*(char **)((int)&this_01->value_ + 4)" * (cast_expression "(char **)((int)&this_01->value_ + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&this_01->value_ + 4)" ( (binary_expression "(int)&this_01->value_ + 4" (cast_expression "(int)&this_01->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01->value_" & (field_expression "this_01->value_" identifier -> field_identifier))) + number_literal) )))) = (field_expression "from_00[1].version_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(char **)&this_01->value_ = pcVar6;" (assignment_expression "*(char **)&this_01->value_ = pcVar6" (pointer_expression "*(char **)&this_01->value_" * (cast_expression "(char **)&this_01->value_" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&this_01->value_" & (field_expression "this_01->value_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_01->symsize_ + 4) = aVar13;" (assignment_expression "*(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_01->symsize_ + 4) = aVar13" (pointer_expression "*(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_01->symsize_ + 4)" * (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_01->symsize_ + 4)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01->symsize_ + 4)" ( (binary_expression "(int)&this_01->symsize_ + 4" (cast_expression "(int)&this_01->symsize_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01->symsize_" & (field_expression "this_01->symsize_" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)&this_01->symsize_ = aVar15;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)&this_01->symsize_ = aVar15" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)&this_01->symsize_" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&this_01->symsize_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_01->symsize_" & (field_expression "this_01->symsize_" identifier -> field_identifier)))) = identifier) ;) (if_statement "if (iVar10 << 0x15 < 0) {\n    pcVar25 = *(code **)(pcVar26 + 0x1b6094);\n    auStackY_138._0_4_ = this_01;\n    puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138);\n    uVar14 = 0x457;\n    if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\nLAB_0030ec30:\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;\n      (**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);\n      goto LAB_0030ec48;\n    }\n    this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457);\n    do {\n      Symbol::override_base_with_special(&this_00->super_Symbol,from_00);\n      pcVar6 = from_00[1].name_;\n      aVar13 = from_00[1].u2_;\n      aVar15 = from_00[1].u1_;\n      *(char **)((int)&this_00->value_ + 4) = from_00[1].version_;\n      *(char **)&this_00->value_ = pcVar6;\n      *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;\n      sym = (Symbol *)auStackY_138;\n      auStackY_138._0_4_ = this_00;\n      puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);\n      if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }\n      this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);\n    } while (this_01 != this_00);\n    iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;\n  }" if (parenthesized_expression "(iVar10 << 0x15 < 0)" ( (binary_expression "iVar10 << 0x15 < 0" (binary_expression "iVar10 << 0x15" identifier << number_literal) < number_literal) )) (compound_statement "{\n    pcVar25 = *(code **)(pcVar26 + 0x1b6094);\n    auStackY_138._0_4_ = this_01;\n    puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138);\n    uVar14 = 0x457;\n    if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\nLAB_0030ec30:\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;\n      (**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);\n      goto LAB_0030ec48;\n    }\n    this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457);\n    do {\n      Symbol::override_base_with_special(&this_00->super_Symbol,from_00);\n      pcVar6 = from_00[1].name_;\n      aVar13 = from_00[1].u2_;\n      aVar15 = from_00[1].u1_;\n      *(char **)((int)&this_00->value_ + 4) = from_00[1].version_;\n      *(char **)&this_00->value_ = pcVar6;\n      *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;\n      sym = (Symbol *)auStackY_138;\n      auStackY_138._0_4_ = this_00;\n      puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);\n      if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }\n      this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);\n    } while (this_01 != this_00);\n    iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;\n  }" { (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x1b6094);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x1b6094)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x1b6094)" * (cast_expression "(code **)(pcVar26 + 0x1b6094)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1b6094)" ( (binary_expression "pcVar26 + 0x1b6094" identifier + number_literal) ))))) ;) (expression_statement "auStackY_138._0_4_ = this_01;" (assignment_expression "auStackY_138._0_4_ = this_01" (field_expression "auStackY_138._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138);" (assignment_expression "puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138)" identifier = (cast_expression "(undefined4 *)(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar25)(iVar17 + 0xb4,(Symbol *)auStackY_138)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar17 + 0xb4,(Symbol *)auStackY_138)" ( (binary_expression "iVar17 + 0xb4" identifier + number_literal) , (cast_expression "(Symbol *)auStackY_138" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "uVar14 = 0x457;" (assignment_expression "uVar14 = 0x457" identifier = number_literal) ;) (if_statement "if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\nLAB_0030ec30:\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;\n      (**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);\n      goto LAB_0030ec48;\n    }" if (parenthesized_expression "((Symbol_table *)*puVar2 == (Symbol_table *)0x0)" ( (binary_expression "(Symbol_table *)*puVar2 == (Symbol_table *)0x0" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0030ec30:\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;\n      (**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);\n      goto LAB_0030ec48;\n    }" { (labeled_statement "LAB_0030ec30:\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;" statement_identifier : (expression_statement "iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304;" (assignment_expression "iVar10 = *(int *)(pcVar26 + 0x1b28bc) + -0x7304" identifier = (binary_expression "*(int *)(pcVar26 + 0x1b28bc) + -0x7304" (pointer_expression "*(int *)(pcVar26 + 0x1b28bc)" * (cast_expression "(int *)(pcVar26 + 0x1b28bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1b28bc)" ( (binary_expression "pcVar26 + 0x1b28bc" identifier + number_literal) )))) + number_literal)) ;)) (expression_statement "(**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10);" (call_expression "(**(code **)(pcVar26 + 0x1b3010))(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1b3010))" ( (pointer_expression "**(code **)(pcVar26 + 0x1b3010)" * (pointer_expression "*(code **)(pcVar26 + 0x1b3010)" * (cast_expression "(code **)(pcVar26 + 0x1b3010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1b3010)" ( (binary_expression "pcVar26 + 0x1b3010" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x1b28bc) + -0x7758,uVar14,iVar10)" ( (binary_expression "*(int *)(pcVar26 + 0x1b28bc) + -0x7758" (pointer_expression "*(int *)(pcVar26 + 0x1b28bc)" * (cast_expression "(int *)(pcVar26 + 0x1b28bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1b28bc)" ( (binary_expression "pcVar26 + 0x1b28bc" identifier + number_literal) )))) + number_literal) , identifier , identifier ))) ;) (goto_statement "goto LAB_0030ec48;" goto statement_identifier ;) })) (expression_statement "this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457);" (assignment_expression "this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457)" identifier = (binary_expression "get_sized_symbol<64>((Symbol_table *)*puVar2,(Symbol *)0x457)" (binary_expression "get_sized_symbol<64" identifier < number_literal) > (parenthesized_expression "((Symbol_table *)*puVar2,(Symbol *)0x457)" ( (comma_expression "(Symbol_table *)*puVar2,(Symbol *)0x457" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , (cast_expression "(Symbol *)0x457" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (do_statement "do {\n      Symbol::override_base_with_special(&this_00->super_Symbol,from_00);\n      pcVar6 = from_00[1].name_;\n      aVar13 = from_00[1].u2_;\n      aVar15 = from_00[1].u1_;\n      *(char **)((int)&this_00->value_ + 4) = from_00[1].version_;\n      *(char **)&this_00->value_ = pcVar6;\n      *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;\n      sym = (Symbol *)auStackY_138;\n      auStackY_138._0_4_ = this_00;\n      puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);\n      if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }\n      this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);\n    } while (this_01 != this_00);" do (compound_statement "{\n      Symbol::override_base_with_special(&this_00->super_Symbol,from_00);\n      pcVar6 = from_00[1].name_;\n      aVar13 = from_00[1].u2_;\n      aVar15 = from_00[1].u1_;\n      *(char **)((int)&this_00->value_ + 4) = from_00[1].version_;\n      *(char **)&this_00->value_ = pcVar6;\n      *(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;\n      *(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;\n      sym = (Symbol *)auStackY_138;\n      auStackY_138._0_4_ = this_00;\n      puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);\n      if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }\n      this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);\n    }" { (labeled_statement "Symbol::override_base_with_special(&this_00->super_Symbol,from_00);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special(&this_00->super_Symbol,from_00);" (call_expression "override_base_with_special(&this_00->super_Symbol,from_00)" identifier (argument_list "(&this_00->super_Symbol,from_00)" ( (pointer_expression "&this_00->super_Symbol" & (field_expression "this_00->super_Symbol" identifier -> field_identifier)) , identifier ))) ;)) (expression_statement "pcVar6 = from_00[1].name_;" (assignment_expression "pcVar6 = from_00[1].name_" identifier = (field_expression "from_00[1].name_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "aVar13 = from_00[1].u2_;" (assignment_expression "aVar13 = from_00[1].u2_" identifier = (field_expression "from_00[1].u2_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "aVar15 = from_00[1].u1_;" (assignment_expression "aVar15 = from_00[1].u1_" identifier = (field_expression "from_00[1].u1_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(char **)((int)&this_00->value_ + 4) = from_00[1].version_;" (assignment_expression "*(char **)((int)&this_00->value_ + 4) = from_00[1].version_" (pointer_expression "*(char **)((int)&this_00->value_ + 4)" * (cast_expression "(char **)((int)&this_00->value_ + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&this_00->value_ + 4)" ( (binary_expression "(int)&this_00->value_ + 4" (cast_expression "(int)&this_00->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->value_" & (field_expression "this_00->value_" identifier -> field_identifier))) + number_literal) )))) = (field_expression "from_00[1].version_" (subscript_expression "from_00[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "*(char **)&this_00->value_ = pcVar6;" (assignment_expression "*(char **)&this_00->value_ = pcVar6" (pointer_expression "*(char **)&this_00->value_" * (cast_expression "(char **)&this_00->value_" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&this_00->value_" & (field_expression "this_00->value_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13;" (assignment_expression "*(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4) = aVar13" (pointer_expression "*(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4)" * (cast_expression "(anon_union_4_3_b582a2bd_for_u2_ *)((int)&this_00->symsize_ + 4)" ( (type_descriptor "anon_union_4_3_b582a2bd_for_u2_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_00->symsize_ + 4)" ( (binary_expression "(int)&this_00->symsize_ + 4" (cast_expression "(int)&this_00->symsize_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_00->symsize_" & (field_expression "this_00->symsize_" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15;" (assignment_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_ = aVar15" (pointer_expression "*(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_" * (cast_expression "(anon_union_4_3_b0f6f408_for_u1_ *)&this_00->symsize_" ( (type_descriptor "anon_union_4_3_b0f6f408_for_u1_ *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_00->symsize_" & (field_expression "this_00->symsize_" identifier -> field_identifier)))) = identifier) ;) (expression_statement "sym = (Symbol *)auStackY_138;" (assignment_expression "sym = (Symbol *)auStackY_138" identifier = (cast_expression "(Symbol *)auStackY_138" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "auStackY_138._0_4_ = this_00;" (assignment_expression "auStackY_138._0_4_ = this_00" (field_expression "auStackY_138._0_4_" identifier . field_identifier) = identifier) ;) (expression_statement "puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4);" (assignment_expression "puVar2 = (undefined4 *)(*pcVar25)(iVar17 + 0xb4)" identifier = (cast_expression "(undefined4 *)(*pcVar25)(iVar17 + 0xb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar25)(iVar17 + 0xb4)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(iVar17 + 0xb4)" ( (binary_expression "iVar17 + 0xb4" identifier + number_literal) ))))) ;) (if_statement "if ((Symbol_table *)*puVar2 == (Symbol_table *)0x0) {\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }" if (parenthesized_expression "((Symbol_table *)*puVar2 == (Symbol_table *)0x0)" ( (binary_expression "(Symbol_table *)*puVar2 == (Symbol_table *)0x0" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) == (cast_expression "(Symbol_table *)0x0" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar14 = 0x45d;\n        goto LAB_0030ec30;\n      }" { (expression_statement "uVar14 = 0x45d;" (assignment_expression "uVar14 = 0x45d" identifier = number_literal) ;) (goto_statement "goto LAB_0030ec30;" goto statement_identifier ;) })) (expression_statement "this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym);" (assignment_expression "this_00 = get_sized_symbol<64>((Symbol_table *)*puVar2,sym)" identifier = (binary_expression "get_sized_symbol<64>((Symbol_table *)*puVar2,sym)" (binary_expression "get_sized_symbol<64" identifier < number_literal) > (parenthesized_expression "((Symbol_table *)*puVar2,sym)" ( (comma_expression "(Symbol_table *)*puVar2,sym" (cast_expression "(Symbol_table *)*puVar2" ( (type_descriptor "Symbol_table *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) , identifier) )))) ;) }) while (parenthesized_expression "(this_01 != this_00)" ( (binary_expression "this_01 != this_00" identifier != identifier) )) ;) (expression_statement "iVar10 = *(int *)&(this_01->super_Symbol).field_0x28;" (assignment_expression "iVar10 = *(int *)&(this_01->super_Symbol).field_0x28" identifier = (pointer_expression "*(int *)&(this_01->super_Symbol).field_0x28" * (cast_expression "(int *)&(this_01->super_Symbol).field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this_01->super_Symbol).field_0x28" & (field_expression "(this_01->super_Symbol).field_0x28" (parenthesized_expression "(this_01->super_Symbol)" ( (field_expression "this_01->super_Symbol" identifier -> field_identifier) )) . field_identifier))))) ;) })) (expression_statement "uVar4 = (uint)(iVar10 << 4) >> 0x1c;" (assignment_expression "uVar4 = (uint)(iVar10 << 4) >> 0x1c" identifier = (binary_expression "(uint)(iVar10 << 4) >> 0x1c" (call_expression "(uint)(iVar10 << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar10 << 4)" ( (binary_expression "iVar10 << 4" identifier << number_literal) ))) >> number_literal)) ;) (if_statement "if (uVar4 != 0) {\n    if (((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&\n       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))) {\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc);\n      if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }\n      if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')\n      goto LAB_0030eb34;\n    }\n    return;\n  }" if (parenthesized_expression "(uVar4 != 0)" ( (binary_expression "uVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    if (((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&\n       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))) {\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc);\n      if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }\n      if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')\n      goto LAB_0030eb34;\n    }\n    return;\n  }" { (if_statement "if (((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&\n       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))) {\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc);\n      if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }\n      if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')\n      goto LAB_0030eb34;\n    }" if (parenthesized_expression "(((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&\n       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10))))" ( (binary_expression "((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2) &&\n       (((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))" (parenthesized_expression "((((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2)" ( (binary_expression "(((uint)(iVar10 << 8) >> 0x1e) + 3 & 3) < 2" (parenthesized_expression "(((uint)(iVar10 << 8) >> 0x1e) + 3 & 3)" ( (binary_expression "((uint)(iVar10 << 8) >> 0x1e) + 3 & 3" (binary_expression "((uint)(iVar10 << 8) >> 0x1e) + 3" (parenthesized_expression "((uint)(iVar10 << 8) >> 0x1e)" ( (binary_expression "(uint)(iVar10 << 8) >> 0x1e" (call_expression "(uint)(iVar10 << 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar10 << 8)" ( (binary_expression "iVar10 << 8" identifier << number_literal) ))) >> number_literal) )) + number_literal) & number_literal) )) < number_literal) )) && (parenthesized_expression "(((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)))" ( (parenthesized_expression "((uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10))" ( (binary_expression "(uVar4 + 0xf & 0xf) < 2 || (uVar4 == 10)" (binary_expression "(uVar4 + 0xf & 0xf) < 2" (parenthesized_expression "(uVar4 + 0xf & 0xf)" ( (binary_expression "uVar4 + 0xf & 0xf" (binary_expression "uVar4 + 0xf" identifier + number_literal) & number_literal) )) < number_literal) || (parenthesized_expression "(uVar4 == 10)" ( (binary_expression "uVar4 == 10" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n      iVar10 = *(int *)(pcVar26 + 0x1b28bc);\n      if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }\n      if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')\n      goto LAB_0030eb34;\n    }" { (expression_statement "iVar10 = *(int *)(pcVar26 + 0x1b28bc);" (assignment_expression "iVar10 = *(int *)(pcVar26 + 0x1b28bc)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x1b28bc)" * (cast_expression "(int *)(pcVar26 + 0x1b28bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1b28bc)" ( (binary_expression "pcVar26 + 0x1b28bc" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0) {\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }" if (parenthesized_expression "(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0)" ( (binary_expression "*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) == 0" (pointer_expression "*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8)" * (cast_expression "(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcVar26 + 0x1b2f94) + 8)" ( (binary_expression "**(int **)(pcVar26 + 0x1b2f94) + 8" (pointer_expression "**(int **)(pcVar26 + 0x1b2f94)" * (pointer_expression "*(int **)(pcVar26 + 0x1b2f94)" * (cast_expression "(int **)(pcVar26 + 0x1b2f94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1b2f94)" ( (binary_expression "pcVar26 + 0x1b2f94" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;\n        pcVar25 = *(code **)(pcVar26 + 0x1b3010);\n        puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);\n        (*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);\n        if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }\n        p_Var7 = (_Hash_node_base *)puVar2[2];\n        puVar2[2] = 0;\n        if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }\nLAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }\n        puVar2[1] = this_02;\n        *puVar2 = pp_Var5;\n        return;\n      }" { (labeled_statement "LAB_0030ec48:\n        this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;" statement_identifier : (expression_statement "this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c;" (assignment_expression "this_02 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c" identifier = (binary_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)&DAT_0000005c" (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)" ( (ERROR "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::" (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::__detail::_Hash_node" : : identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < (binary_expression "char_const*_const" identifier * identifier)) , identifier) : : (binary_expression "unordered_set<gold" identifier < identifier) : : (comma_expression "Symbol_location,_gold" identifier , identifier) : : (comma_expression "Symbol_location_hash,_std" identifier , identifier) : : (binary_expression "equal_to<gold" identifier < identifier) : : (binary_expression "Symbol_location>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol_location>_>_>,_false>_>_>\n                   *" (binary_expression "Symbol_location>_>_>,_false>_>_" (binary_expression "Symbol_location>_>_>,_false>_" (binary_expression "Symbol_location>_>_>,_false" (binary_expression "Symbol_location>_>_" (binary_expression "Symbol_location>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "*" * identifier)) )) & identifier)) ;)) (expression_statement "pcVar25 = *(code **)(pcVar26 + 0x1b3010);" (assignment_expression "pcVar25 = *(code **)(pcVar26 + 0x1b3010)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x1b3010)" * (cast_expression "(code **)(pcVar26 + 0x1b3010)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1b3010)" ( (binary_expression "pcVar26 + 0x1b3010" identifier + number_literal) ))))) ;) (expression_statement "puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8);" (assignment_expression "puVar2 = (undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x1b285c) + -0x9b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x1b285c) + -0x9b8)" ( (binary_expression "*(int *)(pcVar26 + 0x1b285c) + -0x9b8" (pointer_expression "*(int *)(pcVar26 + 0x1b285c)" * (cast_expression "(int *)(pcVar26 + 0x1b285c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x1b285c)" ( (binary_expression "pcVar26 + 0x1b285c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4);" (call_expression "(*pcVar25)(puVar2,0x5c,iVar10 + -0x71c4)" (parenthesized_expression "(*pcVar25)" ( (pointer_expression "*pcVar25" * identifier) )) (argument_list "(puVar2,0x5c,iVar10 + -0x71c4)" ( identifier , number_literal , (binary_expression "iVar10 + -0x71c4" identifier + number_literal) ))) ;) (if_statement "if (this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1) {\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }\n        else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }" if (parenthesized_expression "(this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1)" ( (binary_expression "this_02 ==\n            (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1)" identifier == (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n             *)0x1)" ( (ERROR "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::" (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::__detail::_Hash_node" : : identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < (binary_expression "char_const*_const" identifier * identifier)) , identifier) : : (binary_expression "unordered_set<gold" identifier < identifier) : : (comma_expression "Symbol_location,_gold" identifier , identifier) : : (comma_expression "Symbol_location_hash,_std" identifier , identifier) : : (binary_expression "equal_to<gold" identifier < identifier) : : (binary_expression "Symbol_location>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol_location>_>_>,_false>_>_>\n             *)0x1" (binary_expression "Symbol_location>_>_>,_false>_>_" (binary_expression "Symbol_location>_>_>,_false>_" (binary_expression "Symbol_location>_>_>,_false" (binary_expression "Symbol_location>_>_" (binary_expression "Symbol_location>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n          pp_Var5 = (__bucket_type *)(puVar2 + 6);\n          puVar2[6] = 0;\n        }" { (expression_statement "pp_Var5 = (__bucket_type *)(puVar2 + 6);" (assignment_expression "pp_Var5 = (__bucket_type *)(puVar2 + 6)" identifier = (cast_expression "(__bucket_type *)(puVar2 + 6)" ( (type_descriptor "__bucket_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 6)" ( (binary_expression "puVar2 + 6" identifier + number_literal) )))) ;) (expression_statement "puVar2[6] = 0;" (assignment_expression "puVar2[6] = 0" (subscript_expression "puVar2[6]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }" else (compound_statement "{\n          pp_Var5 = std::__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);\n        }" { (ERROR "pp_Var5 = std::" (assignment_expression "pp_Var5 = std" identifier = identifier) : :) (expression_statement "__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02);" (comma_expression "__detail::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02)" identifier (ERROR "::\n                    _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>" : : (binary_expression "_Hashtable_alloc<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std" identifier (ERROR "::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (comma_expression "pair<char_const*_const,_std" (binary_expression "pair<char_const*_const" identifier < (binary_expression "char_const*_const" identifier * identifier)) , identifier) : : (binary_expression "unordered_set<gold" identifier < identifier) : : (comma_expression "Symbol_location,_gold" identifier , identifier) : : (comma_expression "Symbol_location_hash,_std" identifier , identifier) : : (binary_expression "equal_to<gold" identifier < identifier) : : identifier >) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Symbol_location>_>_" (binary_expression "Symbol_location>_" identifier > identifier) > identifier) >) , (binary_expression "_false>_>_>\n                    ::_M_allocate_buckets(this_02,(size_t)this_02)" (binary_expression "_false>_>_" (binary_expression "_false>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_allocate_buckets(this_02,(size_t)this_02)" identifier (argument_list "(this_02,(size_t)this_02)" ( identifier , (cast_expression "(size_t)this_02" ( (type_descriptor "size_t" primitive_type) ) identifier) ))))) ;) }))) (expression_statement "p_Var7 = (_Hash_node_base *)puVar2[2];" (assignment_expression "p_Var7 = (_Hash_node_base *)puVar2[2]" identifier = (cast_expression "(_Hash_node_base *)puVar2[2]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (p_Var7 != (_Hash_node_base *)0x0) {\n          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }" if (parenthesized_expression "(p_Var7 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var7 != (_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          uVar4 = 0;\n          do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);\n        }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          } while (p_Var19 != (_Hash_node_base *)0x0);" do (compound_statement "{\n            while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }\n            p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];\n            puVar2[2] = p_Var7;\n            *pp_Var12 = (__bucket_type)(puVar2 + 2);\n            if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;\n            pp_Var5[uVar4] = p_Var7;\n            p_Var7 = p_Var19;\n            uVar4 = uVar20;\n          }" { (while_statement "while( true ) {\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }\n              uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;\n              pp_Var12 = pp_Var5 + uVar20;\n              p_Var19 = p_Var7->_M_nxt;\n              if (*pp_Var12 == (__bucket_type)0x0) break;\n              p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;\n              (*pp_Var12)->_M_nxt = p_Var7;\n              uVar20 = uVar4;\nLAB_0030ecdc:\n              p_Var7 = p_Var19;\n              uVar4 = uVar20;\n              if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;\n            }" { (if_statement "if (this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0) {\n                trap(7);\n              }" if (parenthesized_expression "(this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0)" ( (binary_expression "this_02 ==\n                  (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0)" identifier == (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::Symbol_location>_>_>,_false>_>_>\n                   *)0x0)" ( (ERROR "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std::unordered_set<gold::Symbol_location,_gold::Symbol_location_hash,_std::equal_to<gold::Symbol_location>,_std::allocator<gold::" (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const,_std" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char_const*_const" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::__detail::_Hash_node" : : identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < (binary_expression "char_const*_const" identifier * identifier)) , identifier) : : (binary_expression "unordered_set<gold" identifier < identifier) : : (comma_expression "Symbol_location,_gold" identifier , identifier) : : (comma_expression "Symbol_location_hash,_std" identifier , identifier) : : (binary_expression "equal_to<gold" identifier < identifier) : : (binary_expression "Symbol_location>,_std" identifier > (ERROR "," ,) identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Symbol_location>_>_>,_false>_>_>\n                   *)0x0" (binary_expression "Symbol_location>_>_>,_false>_>_" (binary_expression "Symbol_location>_>_>,_false>_" (binary_expression "Symbol_location>_>_>,_false" (binary_expression "Symbol_location>_>_" (binary_expression "Symbol_location>_" identifier > identifier) > identifier) > (ERROR "," ,) identifier) > identifier) > identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n                trap(7);\n              }" { (expression_statement "trap(7);" (call_expression "trap(7)" identifier (argument_list "(7)" ( number_literal ))) ;) })) (expression_statement "uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02;" (assignment_expression "uVar20 = (uint)p_Var7[6]._M_nxt % (uint)this_02" identifier = (binary_expression "(uint)p_Var7[6]._M_nxt % (uint)this_02" (cast_expression "(uint)p_Var7[6]._M_nxt" ( (type_descriptor "uint" type_identifier) ) (field_expression "p_Var7[6]._M_nxt" (subscript_expression "p_Var7[6]" identifier [ number_literal ]) . field_identifier)) % (cast_expression "(uint)this_02" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pp_Var12 = pp_Var5 + uVar20;" (assignment_expression "pp_Var12 = pp_Var5 + uVar20" identifier = (binary_expression "pp_Var5 + uVar20" identifier + identifier)) ;) (expression_statement "p_Var19 = p_Var7->_M_nxt;" (assignment_expression "p_Var19 = p_Var7->_M_nxt" identifier = (field_expression "p_Var7->_M_nxt" identifier -> field_identifier)) ;) (if_statement "if (*pp_Var12 == (__bucket_type)0x0) break;" if (parenthesized_expression "(*pp_Var12 == (__bucket_type)0x0)" ( (binary_expression "*pp_Var12 == (__bucket_type)0x0" (pointer_expression "*pp_Var12" * identifier) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "p_Var7->_M_nxt = (*pp_Var12)->_M_nxt;" (assignment_expression "p_Var7->_M_nxt = (*pp_Var12)->_M_nxt" (field_expression "p_Var7->_M_nxt" identifier -> field_identifier) = (field_expression "(*pp_Var12)->_M_nxt" (parenthesized_expression "(*pp_Var12)" ( (pointer_expression "*pp_Var12" * identifier) )) -> field_identifier)) ;) (expression_statement "(*pp_Var12)->_M_nxt = p_Var7;" (assignment_expression "(*pp_Var12)->_M_nxt = p_Var7" (field_expression "(*pp_Var12)->_M_nxt" (parenthesized_expression "(*pp_Var12)" ( (pointer_expression "*pp_Var12" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "uVar20 = uVar4;" (assignment_expression "uVar20 = uVar4" identifier = identifier) ;) (labeled_statement "LAB_0030ecdc:\n              p_Var7 = p_Var19;" statement_identifier : (expression_statement "p_Var7 = p_Var19;" (assignment_expression "p_Var7 = p_Var19" identifier = identifier) ;)) (expression_statement "uVar4 = uVar20;" (assignment_expression "uVar4 = uVar20" identifier = identifier) ;) (if_statement "if (p_Var19 == (_Hash_node_base *)0x0) goto LAB_0030ed38;" if (parenthesized_expression "(p_Var19 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var19 == (_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_0030ed38;" goto statement_identifier ;)) })) (expression_statement "p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2];" (assignment_expression "p_Var7->_M_nxt = (_Hash_node_base *)puVar2[2]" (field_expression "p_Var7->_M_nxt" identifier -> field_identifier) = (cast_expression "(_Hash_node_base *)puVar2[2]" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar2[2]" identifier [ number_literal ]))) ;) (expression_statement "puVar2[2] = p_Var7;" (assignment_expression "puVar2[2] = p_Var7" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*pp_Var12 = (__bucket_type)(puVar2 + 2);" (assignment_expression "*pp_Var12 = (__bucket_type)(puVar2 + 2)" (pointer_expression "*pp_Var12" * identifier) = (call_expression "(__bucket_type)(puVar2 + 2)" (parenthesized_expression "(__bucket_type)" ( identifier )) (argument_list "(puVar2 + 2)" ( (binary_expression "puVar2 + 2" identifier + number_literal) )))) ;) (if_statement "if (p_Var7->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0030ecdc;" if (parenthesized_expression "(p_Var7->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var7->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var7->_M_nxt" identifier -> field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0030ecdc;" goto statement_identifier ;)) (expression_statement "pp_Var5[uVar4] = p_Var7;" (assignment_expression "pp_Var5[uVar4] = p_Var7" (subscript_expression "pp_Var5[uVar4]" identifier [ identifier ]) = identifier) ;) (expression_statement "p_Var7 = p_Var19;" (assignment_expression "p_Var7 = p_Var19" identifier = identifier) ;) (expression_statement "uVar4 = uVar20;" (assignment_expression "uVar4 = uVar20" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var19 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var19 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_0030ed38:\n        if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }" statement_identifier : (if_statement "if (puVar2 + 6 != (undefined4 *)*puVar2) {\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }" if (parenthesized_expression "(puVar2 + 6 != (undefined4 *)*puVar2)" ( (binary_expression "puVar2 + 6 != (undefined4 *)*puVar2" (binary_expression "puVar2 + 6" identifier + number_literal) != (cast_expression "(undefined4 *)*puVar2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier))) )) (compound_statement "{\n          (**(code **)(pcVar25 + 0x1b269c))();\n        }" { (expression_statement "(**(code **)(pcVar25 + 0x1b269c))();" (call_expression "(**(code **)(pcVar25 + 0x1b269c))()" (parenthesized_expression "(**(code **)(pcVar25 + 0x1b269c))" ( (pointer_expression "**(code **)(pcVar25 + 0x1b269c)" * (pointer_expression "*(code **)(pcVar25 + 0x1b269c)" * (cast_expression "(code **)(pcVar25 + 0x1b269c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar25 + 0x1b269c)" ( (binary_expression "pcVar25 + 0x1b269c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "puVar2[1] = this_02;" (assignment_expression "puVar2[1] = this_02" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*puVar2 = pp_Var5;" (assignment_expression "*puVar2 = pp_Var5" (pointer_expression "*puVar2" * identifier) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')\n      goto LAB_0030eb34;" if (parenthesized_expression "(*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195)" ( (binary_expression "*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8) + 0x3195" (pointer_expression "*(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8)" * (cast_expression "(int *)(**(int **)(pcVar26 + 0x1b2f94) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcVar26 + 0x1b2f94) + 8)" ( (binary_expression "**(int **)(pcVar26 + 0x1b2f94) + 8" (pointer_expression "**(int **)(pcVar26 + 0x1b2f94)" * (pointer_expression "*(int **)(pcVar26 + 0x1b2f94)" * (cast_expression "(int **)(pcVar26 + 0x1b2f94)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1b2f94)" ( (binary_expression "pcVar26 + 0x1b2f94" identifier + number_literal) ))))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0030eb34;" goto statement_identifier ;)) })) (return_statement "return;" return ;) })) (labeled_statement "LAB_0030eb34:\n  (**(code **)(pcVar26 + 0x1b6004))(iVar17,this_01);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x1b6004))(iVar17,this_01);" (call_expression "(**(code **)(pcVar26 + 0x1b6004))(iVar17,this_01)" (parenthesized_expression "(**(code **)(pcVar26 + 0x1b6004))" ( (pointer_expression "**(code **)(pcVar26 + 0x1b6004)" * (pointer_expression "*(code **)(pcVar26 + 0x1b6004)" * (cast_expression "(code **)(pcVar26 + 0x1b6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x1b6004)" ( (binary_expression "pcVar26 + 0x1b6004" identifier + number_literal) ))))) )) (argument_list "(iVar17,this_01)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Symbol_table::override<64,false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int *piVar1;\n  int iVar2;\n  undefined *puVar3;\n  undefined4 uVar4;\n  int iVar5;\n  Symbol *pSVar6;\n  Symbol *this_00;\n  Sym *pSVar7;\n  undefined4 uVar8;\n  Symbol *pSVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  Sized_symbol *unaff_s6;\n  Symbol_table *pSVar13;\n  undefined *puVar14;\n  code *pcVar15;\n  code *pcVar16;\n  Symbol *apSStackY_f0 [2];\n  Sym *pSStackY_e8;\n  Symbol *pSStackY_e4;\n  uint uStackY_e0;\n  uint uStackY_dc;\n  Object *pOStackY_d8;\n  undefined4 uStackY_d4;\n  Sized_symbol *pSStackY_d0;\n  undefined *puStackY_cc;\n  Sized_symbol **ppSStackY_c8;\n  code *pcStackY_c4;\n  Sized_symbol *apSStack_a0 [2];\n  code *pcStack_98;\n  code *pcStack_94;\n  code *pcStack_90;\n  Sized_symbol *pSStack_88;\n  Sym *pSStack_84;\n  uint uStack_80;\n  uint uStack_7c;\n  Object *pOStack_78;\n  char *pcStack_74;\n  Sized_symbol *pSStack_70;\n  Symbol_table *pSStack_6c;\n  Sized_symbol **ppSStack_68;\n  code *pcStack_64;\n  Object *pOVar17;\n  Object *pOVar18;\n  Sized_symbol *local_40 [2];\n  code *local_38;\n  code *local_34;\n  code *local_30;\n  \n  local_38 = (code *)PTR_override<false>_004c4ff8;\n  uVar12 = (uint)param_4;\n  uVar10 = uVar12;\n  pOVar17 = param_5;\n  pOVar18 = (Object *)param_6;\n  Sized_symbol<64>::override<false>\n            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Symbol_table::override<64,false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int *piVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int" (function_declarator "false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)" identifier (ERROR ">" >) (parameter_list "(Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Sized_symbol *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "Sym *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "bool param_4" primitive_type identifier) , (parameter_declaration "Object *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) , (parameter_declaration "char *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "Symbol *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "Symbol *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Sym *pSVar7;" type_identifier (pointer_declarator "*pSVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "Symbol *pSVar9;" type_identifier (pointer_declarator "*pSVar9" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "Sized_symbol *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "Symbol_table *pSVar13;" type_identifier (pointer_declarator "*pSVar13" * identifier) ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "Symbol *apSStackY_f0 [2];" type_identifier (pointer_declarator "*apSStackY_f0 [2]" * (array_declarator "apSStackY_f0 [2]" identifier [ number_literal ])) ;) (declaration "Sym *pSStackY_e8;" type_identifier (pointer_declarator "*pSStackY_e8" * identifier) ;) (declaration "Symbol *pSStackY_e4;" type_identifier (pointer_declarator "*pSStackY_e4" * identifier) ;) (declaration "uint uStackY_e0;" type_identifier identifier ;) (declaration "uint uStackY_dc;" type_identifier identifier ;) (declaration "Object *pOStackY_d8;" type_identifier (pointer_declarator "*pOStackY_d8" * identifier) ;) (declaration "undefined4 uStackY_d4;" type_identifier identifier ;) (declaration "Sized_symbol *pSStackY_d0;" type_identifier (pointer_declarator "*pSStackY_d0" * identifier) ;) (declaration "undefined *puStackY_cc;" type_identifier (pointer_declarator "*puStackY_cc" * identifier) ;) (declaration "Sized_symbol **ppSStackY_c8;" type_identifier (pointer_declarator "**ppSStackY_c8" * (pointer_declarator "*ppSStackY_c8" * identifier)) ;) (declaration "code *pcStackY_c4;" type_identifier (pointer_declarator "*pcStackY_c4" * identifier) ;) (declaration "Sized_symbol *apSStack_a0 [2];" type_identifier (pointer_declarator "*apSStack_a0 [2]" * (array_declarator "apSStack_a0 [2]" identifier [ number_literal ])) ;) (declaration "code *pcStack_98;" type_identifier (pointer_declarator "*pcStack_98" * identifier) ;) (declaration "code *pcStack_94;" type_identifier (pointer_declarator "*pcStack_94" * identifier) ;) (declaration "code *pcStack_90;" type_identifier (pointer_declarator "*pcStack_90" * identifier) ;) (declaration "Sized_symbol *pSStack_88;" type_identifier (pointer_declarator "*pSStack_88" * identifier) ;) (declaration "Sym *pSStack_84;" type_identifier (pointer_declarator "*pSStack_84" * identifier) ;) (declaration "uint uStack_80;" type_identifier identifier ;) (declaration "uint uStack_7c;" type_identifier identifier ;) (declaration "Object *pOStack_78;" type_identifier (pointer_declarator "*pOStack_78" * identifier) ;) (declaration "char *pcStack_74;" primitive_type (pointer_declarator "*pcStack_74" * identifier) ;) (declaration "Sized_symbol *pSStack_70;" type_identifier (pointer_declarator "*pSStack_70" * identifier) ;) (declaration "Symbol_table *pSStack_6c;" type_identifier (pointer_declarator "*pSStack_6c" * identifier) ;) (declaration "Sized_symbol **ppSStack_68;" type_identifier (pointer_declarator "**ppSStack_68" * (pointer_declarator "*ppSStack_68" * identifier)) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "Object *pOVar17;" type_identifier (pointer_declarator "*pOVar17" * identifier) ;) (declaration "Object *pOVar18;" type_identifier (pointer_declarator "*pOVar18" * identifier) ;) (declaration "Sized_symbol *local_40 [2];" type_identifier (pointer_declarator "*local_40 [2]" * (array_declarator "local_40 [2]" identifier [ number_literal ])) ;) (declaration "code *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "code *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "code *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "local_38 = (code *)PTR_override<false>_004c4ff8;" (assignment_expression "local_38 = (code *)PTR_override<false>_004c4ff8" identifier = (binary_expression "(code *)PTR_override<false>_004c4ff8" (binary_expression "(code *)PTR_override<false" (cast_expression "(code *)PTR_override" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < false) > identifier)) ;) (expression_statement "uVar12 = (uint)param_4;" (assignment_expression "uVar12 = (uint)param_4" identifier = (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (expression_statement "pOVar17 = param_5;" (assignment_expression "pOVar17 = param_5" identifier = identifier) ;) (expression_statement "pOVar18 = (Object *)param_6;" (assignment_expression "pOVar18 = (Object *)param_6" identifier = (cast_expression "(Object *)param_6" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (ERROR "Sized_symbol<64>::override<false>\n            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }\n  return;\n}" (binary_expression "Sized_symbol<64>::override<false" (binary_expression "Sized_symbol<64>::override" (binary_expression "Sized_symbol<64" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0)" (call_expression "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0)" (parenthesized_expression "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6)" ( (comma_expression "Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6" (binary_expression "Sized_symbol<64> *)param_1" (binary_expression "Sized_symbol<64" identifier < number_literal) > (pointer_expression "*)param_1" * (ERROR ")" )) identifier)) , (comma_expression "param_2,param_3,param_4,param_5,param_6" identifier , (comma_expression "param_3,param_4,param_5,param_6" identifier , (comma_expression "param_4,param_5,param_6" identifier , (comma_expression "param_5,param_6" identifier , identifier))))) )) (ERROR ";\n  if" ; if) (argument_list "(*(int *)(param_1 + 0x28) << 0x15 < 0)" ( (binary_expression "*(int *)(param_1 + 0x28) << 0x15 < 0" (binary_expression "*(int *)(param_1 + 0x28) << 0x15" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )))) (compound_statement "{\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }" { (expression_statement "local_34 = (code *)PTR_operator___004c4ab4;" (assignment_expression "local_34 = (code *)PTR_operator___004c4ab4" identifier = (cast_expression "(code *)PTR_operator___004c4ab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar13 = this + 0xb4;" (assignment_expression "pSVar13 = this + 0xb4" identifier = (binary_expression "this + 0xb4" identifier + number_literal)) ;) (expression_statement "local_40[0] = param_1;" (assignment_expression "local_40[0] = param_1" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" identifier = (cast_expression "(int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" (parenthesized_expression "(*(code *)PTR_operator___004c4ab4)" ( (pointer_expression "*(code *)PTR_operator___004c4ab4" * (cast_expression "(code *)PTR_operator___004c4ab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pSVar13,local_40)" ( identifier , identifier ))))) ;) (expression_statement "pSVar6 = (Symbol *)&DAT_0000008b;" (assignment_expression "pSVar6 = (Symbol *)&DAT_0000008b" identifier = (cast_expression "(Symbol *)&DAT_0000008b" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000008b" & identifier))) ;) (if_statement "if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }" { (labeled_statement "LAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);" statement_identifier : (expression_statement "pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);" (assignment_expression "pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294)" identifier = (cast_expression "(Sym *)(PTR_UINT_004c12dc + -0x7294)" ( (type_descriptor "Sym *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_UINT_004c12dc + -0x7294)" ( (binary_expression "PTR_UINT_004c12dc + -0x7294" identifier + number_literal) )))) ;)) (expression_statement "pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;" (comma_expression "pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758" (assignment_expression "pcVar15 = override<64" identifier = (binary_expression "override<64" identifier < number_literal)) , (binary_expression "true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758" true > (ERROR ";" ;) (assignment_expression "puVar3 = PTR_UINT_004c12dc + -0x7758" identifier = (binary_expression "PTR_UINT_004c12dc + -0x7758" identifier + number_literal)))) ;) (expression_statement "puVar14 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar14 = 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 "pcStack_98 = *(code **)(puVar14 + 0x1b69b8);" (assignment_expression "pcStack_98 = *(code **)(puVar14 + 0x1b69b8)" identifier = (pointer_expression "*(code **)(puVar14 + 0x1b69b8)" * (cast_expression "(code **)(puVar14 + 0x1b69b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x1b69b8)" ( (binary_expression "puVar14 + 0x1b69b8" identifier + number_literal) ))))) ;) (expression_statement "pcStack_74 = param_6;" (assignment_expression "pcStack_74 = param_6" identifier = identifier) ;) (expression_statement "pOStack_78 = param_5;" (assignment_expression "pOStack_78 = param_5" identifier = identifier) ;) (expression_statement "pSStack_88 = param_1;" (assignment_expression "pSStack_88 = param_1" identifier = identifier) ;) (expression_statement "pSStack_84 = param_2;" (assignment_expression "pSStack_84 = param_2" identifier = identifier) ;) (expression_statement "uStack_80 = param_3;" (assignment_expression "uStack_80 = param_3" identifier = identifier) ;) (expression_statement "uStack_7c = uVar12;" (assignment_expression "uStack_7c = uVar12" identifier = identifier) ;) (expression_statement "pSStack_70 = unaff_s6;" (assignment_expression "pSStack_70 = unaff_s6" identifier = identifier) ;) (expression_statement "pSStack_6c = pSVar13;" (assignment_expression "pSStack_6c = pSVar13" identifier = identifier) ;) (expression_statement "ppSStack_68 = local_40;" (assignment_expression "ppSStack_68 = local_40" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar15;" (assignment_expression "pcStack_64 = pcVar15" identifier = identifier) ;) (labeled_statement "Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);" statement_identifier : (ERROR ":" :) (expression_statement "override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);" (comma_expression "override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" (binary_expression "override_base<64" identifier < number_literal) , (binary_expression "true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" true > (parenthesized_expression "(pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" ( (ERROR "pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::" (comma_expression "pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" identifier , (comma_expression "pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" identifier , (comma_expression "uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" identifier , (comma_expression "SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" (call_expression "SUB41(pOVar17,0)" identifier (argument_list "(pOVar17,0)" ( identifier , number_literal ))) , (comma_expression "pOVar18,\n                 Position_dependent_options" identifier , identifier))))) : :) (binary_expression "default_options_ + 0x3210" identifier + number_literal) )))) ;)) (expression_statement "iVar2 = *(int *)pSVar7;" (assignment_expression "iVar2 = *(int *)pSVar7" identifier = (pointer_expression "*(int *)pSVar7" * (cast_expression "(int *)pSVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(iVar2 + 0x14);" (assignment_expression "uVar11 = *(undefined4 *)(iVar2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar2 + 0x10);" (assignment_expression "uVar8 = *(undefined4 *)(iVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);" (assignment_expression "*(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc)" (pointer_expression "*(undefined4 *)(pSVar6 + 0x34)" * (cast_expression "(undefined4 *)(pSVar6 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x34)" ( (binary_expression "pSVar6 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x30) = uVar4" (pointer_expression "*(undefined4 *)(pSVar6 + 0x30)" * (cast_expression "(undefined4 *)(pSVar6 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x30)" ( (binary_expression "pSVar6 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x3c) = uVar11;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x3c) = uVar11" (pointer_expression "*(undefined4 *)(pSVar6 + 0x3c)" * (cast_expression "(undefined4 *)(pSVar6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x3c)" ( (binary_expression "pSVar6 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x38) = uVar8;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x38) = uVar8" (pointer_expression "*(undefined4 *)(pSVar6 + 0x38)" * (cast_expression "(undefined4 *)(pSVar6 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x38)" ( (binary_expression "pSVar6 + 0x38" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }" if (parenthesized_expression "(*(int *)(pSVar6 + 0x28) << 0x15 < 0)" ( (binary_expression "*(int *)(pSVar6 + 0x28) << 0x15 < 0" (binary_expression "*(int *)(pSVar6 + 0x28) << 0x15" (pointer_expression "*(int *)(pSVar6 + 0x28)" * (cast_expression "(int *)(pSVar6 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x28)" ( (binary_expression "pSVar6 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }" { (expression_statement "pcStack_94 = *(code **)(puVar14 + 0x1b6470);" (assignment_expression "pcStack_94 = *(code **)(puVar14 + 0x1b6470)" identifier = (pointer_expression "*(code **)(puVar14 + 0x1b6470)" * (cast_expression "(code **)(puVar14 + 0x1b6470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x1b6470)" ( (binary_expression "puVar14 + 0x1b6470" identifier + number_literal) ))))) ;) (expression_statement "puVar3 = puVar3 + 0xb4;" (assignment_expression "puVar3 = puVar3 + 0xb4" identifier = (binary_expression "puVar3 + 0xb4" identifier + number_literal)) ;) (expression_statement "apSStack_a0[0] = (Sized_symbol *)pSVar6;" (assignment_expression "apSStack_a0[0] = (Sized_symbol *)pSVar6" (subscript_expression "apSStack_a0[0]" identifier [ number_literal ]) = (cast_expression "(Sized_symbol *)pSVar6" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);" (assignment_expression "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0)" identifier = (cast_expression "(int *)(*pcStack_94)(puVar3,apSStack_a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_94)(puVar3,apSStack_a0)" (parenthesized_expression "(*pcStack_94)" ( (pointer_expression "*pcStack_94" * identifier) )) (argument_list "(puVar3,apSStack_a0)" ( identifier , identifier ))))) ;) (expression_statement "this_00 = (Symbol *)&DAT_0000008b;" (assignment_expression "this_00 = (Symbol *)&DAT_0000008b" identifier = (cast_expression "(Symbol *)&DAT_0000008b" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000008b" & identifier))) ;) (if_statement "if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }" { (labeled_statement "LAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);" statement_identifier : (expression_statement "pcVar15 = *(code **)(puVar14 + 0x1b33ec);" (assignment_expression "pcVar15 = *(code **)(puVar14 + 0x1b33ec)" identifier = (pointer_expression "*(code **)(puVar14 + 0x1b33ec)" * (cast_expression "(code **)(puVar14 + 0x1b33ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + 0x1b33ec)" ( (binary_expression "puVar14 + 0x1b33ec" identifier + number_literal) ))))) ;)) (expression_statement "pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);" (assignment_expression "pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" identifier = (cast_expression "(Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" ( (binary_expression "*(int *)(puVar14 + 0x1b2c98) + -0x72c4" (pointer_expression "*(int *)(puVar14 + 0x1b2c98)" * (cast_expression "(int *)(puVar14 + 0x1b2c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1b2c98)" ( (binary_expression "puVar14 + 0x1b2c98" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;" (assignment_expression "pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" identifier = (binary_expression "override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" (binary_expression "override_with_special<32" identifier < number_literal) > (ERROR ";" ;) (assignment_expression "iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" identifier = (binary_expression "*(int *)(puVar14 + 0x1b2c98) + -0x7758" (pointer_expression "*(int *)(puVar14 + 0x1b2c98)" * (cast_expression "(int *)(puVar14 + 0x1b2c98)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1b2c98)" ( (binary_expression "puVar14 + 0x1b2c98" identifier + number_literal) )))) + number_literal)))) ;) (expression_statement "(*pcVar15)(iVar5);" (call_expression "(*pcVar15)(iVar5)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "uStackY_d4 = 0x4c9240;" (assignment_expression "uStackY_d4 = 0x4c9240" identifier = number_literal) ;) (expression_statement "pSStackY_e8 = pSVar7;" (assignment_expression "pSStackY_e8 = pSVar7" identifier = identifier) ;) (expression_statement "pSStackY_e4 = pSVar6;" (assignment_expression "pSStackY_e4 = pSVar6" identifier = identifier) ;) (expression_statement "uStackY_e0 = uVar10;" (assignment_expression "uStackY_e0 = uVar10" identifier = identifier) ;) (expression_statement "uStackY_dc = (uint)pOVar17 & 0xff;" (assignment_expression "uStackY_dc = (uint)pOVar17 & 0xff" identifier = (binary_expression "(uint)pOVar17 & 0xff" (cast_expression "(uint)pOVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "pOStackY_d8 = pOVar18;" (assignment_expression "pOStackY_d8 = pOVar18" identifier = identifier) ;) (expression_statement "pSStackY_d0 = unaff_s6;" (assignment_expression "pSStackY_d0 = unaff_s6" identifier = identifier) ;) (expression_statement "puStackY_cc = puVar3;" (assignment_expression "puStackY_cc = puVar3" identifier = identifier) ;) (expression_statement "ppSStackY_c8 = apSStack_a0;" (assignment_expression "ppSStackY_c8 = apSStack_a0" identifier = identifier) ;) (expression_statement "pcStackY_c4 = pcVar16;" (assignment_expression "pcStackY_c4 = pcVar16" identifier = identifier) ;) (labeled_statement "Symbol::override_base_with_special(this_00,pSVar9);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special(this_00,pSVar9);" (call_expression "override_base_with_special(this_00,pSVar9)" identifier (argument_list "(this_00,pSVar9)" ( identifier , identifier ))) ;)) (expression_statement "iVar2 = *(int *)(this_00 + 0x28);" (assignment_expression "iVar2 = *(int *)(this_00 + 0x28)" identifier = (pointer_expression "*(int *)(this_00 + 0x28)" * (cast_expression "(int *)(this_00 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x28)" ( (binary_expression "this_00 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(pSVar9 + 0x34);" (assignment_expression "uVar4 = *(undefined4 *)(pSVar9 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(pSVar9 + 0x34)" * (cast_expression "(undefined4 *)(pSVar9 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x34)" ( (binary_expression "pSVar9 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);" (assignment_expression "*(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30)" (pointer_expression "*(undefined4 *)(this_00 + 0x30)" * (cast_expression "(undefined4 *)(this_00 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x30)" ( (binary_expression "this_00 + 0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pSVar9 + 0x30)" * (cast_expression "(undefined4 *)(pSVar9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x30)" ( (binary_expression "pSVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(this_00 + 0x34) = uVar4;" (assignment_expression "*(undefined4 *)(this_00 + 0x34) = uVar4" (pointer_expression "*(undefined4 *)(this_00 + 0x34)" * (cast_expression "(undefined4 *)(this_00 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x34)" ( (binary_expression "this_00 + 0x34" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }" if (parenthesized_expression "(iVar2 << 0x15 < 0)" ( (binary_expression "iVar2 << 0x15 < 0" (binary_expression "iVar2 << 0x15" identifier << number_literal) < number_literal) )) (compound_statement "{\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }" { (expression_statement "pcVar16 = *(code **)(pcVar15 + 0x1b62b4);" (assignment_expression "pcVar16 = *(code **)(pcVar15 + 0x1b62b4)" identifier = (pointer_expression "*(code **)(pcVar15 + 0x1b62b4)" * (cast_expression "(code **)(pcVar15 + 0x1b62b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b62b4)" ( (binary_expression "pcVar15 + 0x1b62b4" identifier + number_literal) ))))) ;) (expression_statement "apSStackY_f0[0] = this_00;" (assignment_expression "apSStackY_f0[0] = this_00" (subscript_expression "apSStackY_f0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);" (assignment_expression "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" identifier = (cast_expression "(int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar5 + 0xb4,apSStackY_f0)" ( (binary_expression "iVar5 + 0xb4" identifier + number_literal) , identifier ))))) ;) (expression_statement "uVar4 = 0x457;" (assignment_expression "uVar4 = 0x457" identifier = number_literal) ;) (if_statement "if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }" { (labeled_statement "LAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);" statement_identifier : (expression_statement "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);" (call_expression "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b3230))" ( (pointer_expression "**(code **)(pcVar15 + 0x1b3230)" * (pointer_expression "*(code **)(pcVar15 + 0x1b3230)" * (cast_expression "(code **)(pcVar15 + 0x1b3230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b3230)" ( (binary_expression "pcVar15 + 0x1b3230" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec)" ( (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x7758" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" * (cast_expression "(int *)(pcVar15 + 0x1b2adc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2adc)" ( (binary_expression "pcVar15 + 0x1b2adc" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x72ec" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" * (cast_expression "(int *)(pcVar15 + 0x1b2adc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2adc)" ( (binary_expression "pcVar15 + 0x1b2adc" identifier + number_literal) )))) + number_literal) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);" (assignment_expression "pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457)" identifier = (cast_expression "(Symbol *)FUN_0030c880(*piVar1,0x457)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c880(*piVar1,0x457)" identifier (argument_list "(*piVar1,0x457)" ( (pointer_expression "*piVar1" * identifier) , number_literal ))))) ;) (do_statement "do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);" do (compound_statement "{\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            }" { (labeled_statement "Symbol::override_base_with_special(pSVar6,pSVar9);" statement_identifier : (ERROR ":" :) (expression_statement "override_base_with_special(pSVar6,pSVar9);" (call_expression "override_base_with_special(pSVar6,pSVar9)" identifier (argument_list "(pSVar6,pSVar9)" ( identifier , identifier ))) ;)) (expression_statement "uVar4 = *(undefined4 *)(pSVar9 + 0x34);" (assignment_expression "uVar4 = *(undefined4 *)(pSVar9 + 0x34)" identifier = (pointer_expression "*(undefined4 *)(pSVar9 + 0x34)" * (cast_expression "(undefined4 *)(pSVar9 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x34)" ( (binary_expression "pSVar9 + 0x34" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);" (assignment_expression "*(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30)" (pointer_expression "*(undefined4 *)(pSVar6 + 0x30)" * (cast_expression "(undefined4 *)(pSVar6 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x30)" ( (binary_expression "pSVar6 + 0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(pSVar9 + 0x30)" * (cast_expression "(undefined4 *)(pSVar9 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar9 + 0x30)" ( (binary_expression "pSVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(pSVar6 + 0x34) = uVar4;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x34) = uVar4" (pointer_expression "*(undefined4 *)(pSVar6 + 0x34)" * (cast_expression "(undefined4 *)(pSVar6 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pSVar6 + 0x34)" ( (binary_expression "pSVar6 + 0x34" identifier + number_literal) )))) = identifier) ;) (expression_statement "apSStackY_f0[0] = pSVar6;" (assignment_expression "apSStackY_f0[0] = pSVar6" (subscript_expression "apSStackY_f0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);" (assignment_expression "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" identifier = (cast_expression "(int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iVar5 + 0xb4,apSStackY_f0)" ( (binary_expression "iVar5 + 0xb4" identifier + number_literal) , identifier ))))) ;) (if_statement "if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }" { (expression_statement "uVar4 = 0x45d;" (assignment_expression "uVar4 = 0x45d" identifier = number_literal) ;) (goto_statement "goto LAB_0030e9f0;" goto statement_identifier ;) })) (expression_statement "pSVar6 = (Symbol *)FUN_0030c880();" (assignment_expression "pSVar6 = (Symbol *)FUN_0030c880()" identifier = (cast_expression "(Symbol *)FUN_0030c880()" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c880()" identifier (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(this_00 != pSVar6)" ( (binary_expression "this_00 != pSVar6" identifier != identifier) )) ;) (expression_statement "iVar2 = *(int *)(this_00 + 0x28);" (assignment_expression "iVar2 = *(int *)(this_00 + 0x28)" identifier = (pointer_expression "*(int *)(this_00 + 0x28)" * (cast_expression "(int *)(this_00 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this_00 + 0x28)" ( (binary_expression "this_00 + 0x28" identifier + number_literal) ))))) ;) })) (expression_statement "uVar10 = (uint)(iVar2 << 4) >> 0x1c;" (assignment_expression "uVar10 = (uint)(iVar2 << 4) >> 0x1c" identifier = (binary_expression "(uint)(iVar2 << 4) >> 0x1c" (call_expression "(uint)(iVar2 << 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 << 4)" ( (binary_expression "iVar2 << 4" identifier << number_literal) ))) >> number_literal)) ;) (if_statement "if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }" { (labeled_statement "LAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);" statement_identifier : (expression_statement "(**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);" (call_expression "(**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b6224))" ( (pointer_expression "**(code **)(pcVar15 + 0x1b6224)" * (pointer_expression "*(code **)(pcVar15 + 0x1b6224)" * (cast_expression "(code **)(pcVar15 + 0x1b6224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b6224)" ( (binary_expression "pcVar15 + 0x1b6224" identifier + number_literal) ))))) )) (argument_list "(iVar5,this_00)" ( identifier , identifier ))) ;)) (return_statement "return;" return ;) })) (if_statement "if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }" if (parenthesized_expression "(((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10))))" ( (binary_expression "((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))" (parenthesized_expression "((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2)" ( (binary_expression "(((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2" (parenthesized_expression "(((uint)(iVar2 << 8) >> 0x1e) + 3 & 3)" ( (binary_expression "((uint)(iVar2 << 8) >> 0x1e) + 3 & 3" (binary_expression "((uint)(iVar2 << 8) >> 0x1e) + 3" (parenthesized_expression "((uint)(iVar2 << 8) >> 0x1e)" ( (binary_expression "(uint)(iVar2 << 8) >> 0x1e" (call_expression "(uint)(iVar2 << 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 << 8)" ( (binary_expression "iVar2 << 8" identifier << number_literal) ))) >> number_literal) )) + number_literal) & number_literal) )) < number_literal) )) && (parenthesized_expression "(((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))" ( (parenthesized_expression "((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10))" ( (binary_expression "(uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)" (binary_expression "(uVar10 + 0xf & 0xf) < 2" (parenthesized_expression "(uVar10 + 0xf & 0xf)" ( (binary_expression "uVar10 + 0xf & 0xf" (binary_expression "uVar10 + 0xf" identifier + number_literal) & number_literal) )) < number_literal) || (parenthesized_expression "(uVar10 == 10)" ( (binary_expression "uVar10 == 10" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }" { (if_statement "if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }" if (parenthesized_expression "(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0)" ( (binary_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" * (cast_expression "(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (binary_expression "**(int **)(pcVar15 + 0x1b31b4) + 8" (pointer_expression "**(int **)(pcVar15 + 0x1b31b4)" * (pointer_expression "*(int **)(pcVar15 + 0x1b31b4)" * (cast_expression "(int **)(pcVar15 + 0x1b31b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b31b4)" ( (binary_expression "pcVar15 + 0x1b31b4" identifier + number_literal) ))))) + number_literal) )))) == number_literal) )) (compound_statement "{\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }" { (expression_statement "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);" (call_expression "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b3230))" ( (pointer_expression "**(code **)(pcVar15 + 0x1b3230)" * (pointer_expression "*(code **)(pcVar15 + 0x1b3230)" * (cast_expression "(code **)(pcVar15 + 0x1b3230)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b3230)" ( (binary_expression "pcVar15 + 0x1b3230" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4)" ( (binary_expression "*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8" (pointer_expression "*(int *)(pcVar15 + 0x1b2a7c)" * (cast_expression "(int *)(pcVar15 + 0x1b2a7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2a7c)" ( (binary_expression "pcVar15 + 0x1b2a7c" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x71c4" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" * (cast_expression "(int *)(pcVar15 + 0x1b2adc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + 0x1b2adc)" ( (binary_expression "pcVar15 + 0x1b2adc" identifier + number_literal) )))) + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;" if (parenthesized_expression "(*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')" ( (binary_expression "*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" * (cast_expression "(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" ( (binary_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195" (pointer_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" * (cast_expression "(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcVar15 + 0x1b31b4) + 8)" ( (binary_expression "**(int **)(pcVar15 + 0x1b31b4) + 8" (pointer_expression "**(int **)(pcVar15 + 0x1b31b4)" * (pointer_expression "*(int **)(pcVar15 + 0x1b31b4)" * (cast_expression "(int **)(pcVar15 + 0x1b31b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar15 + 0x1b31b4)" ( (binary_expression "pcVar15 + 0x1b31b4" identifier + number_literal) ))))) + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0030e904;" goto statement_identifier ;)) })) (return_statement "return;" return ;) })) (expression_statement "pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);" (assignment_expression "pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700)" identifier = (cast_expression "(code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar14 + 0x1b6994) + -0x3700)" ( (binary_expression "*(int *)(puVar14 + 0x1b6994) + -0x3700" (pointer_expression "*(int *)(puVar14 + 0x1b6994)" * (cast_expression "(int *)(puVar14 + 0x1b6994)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 0x1b6994)" ( (binary_expression "puVar14 + 0x1b6994" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s6 = (Sized_symbol *)FUN_0030c900();" (assignment_expression "unaff_s6 = (Sized_symbol *)FUN_0030c900()" identifier = (cast_expression "(Sized_symbol *)FUN_0030c900()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c900()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);" do (compound_statement "{\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        }" { (expression_statement "(*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);" (call_expression "(*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff)" (parenthesized_expression "(*pcStack_98)" ( (pointer_expression "*pcStack_98" * identifier) )) (argument_list "(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff)" ( identifier , identifier , identifier , (binary_expression "(uint)pOVar17 & 0xff" (cast_expression "(uint)pOVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) ;) (expression_statement "iVar2 = *(int *)pSVar7;" (assignment_expression "iVar2 = *(int *)pSVar7" identifier = (pointer_expression "*(int *)pSVar7" * (cast_expression "(int *)pSVar7" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 8)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 8)" * (cast_expression "(undefined4 *)(iVar2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 8)" ( (binary_expression "iVar2 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = *(undefined4 *)(iVar2 + 0x14);" (assignment_expression "uVar11 = *(undefined4 *)(iVar2 + 0x14)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" * (cast_expression "(undefined4 *)(iVar2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x14)" ( (binary_expression "iVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(undefined4 *)(iVar2 + 0x10);" (assignment_expression "uVar8 = *(undefined4 *)(iVar2 + 0x10)" identifier = (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc)" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x34)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x34)" ( (binary_expression "unaff_s6 + 0x34" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" * (cast_expression "(undefined4 *)(iVar2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x30) = uVar4" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x30)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x30)" ( (binary_expression "unaff_s6 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x3c) = uVar11;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x3c) = uVar11" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x3c)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x3c)" ( (binary_expression "unaff_s6 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(unaff_s6 + 0x38) = uVar8;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x38) = uVar8" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x38)" * (cast_expression "(undefined4 *)(unaff_s6 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x38)" ( (binary_expression "unaff_s6 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "apSStack_a0[0] = unaff_s6;" (assignment_expression "apSStack_a0[0] = unaff_s6" (subscript_expression "apSStack_a0[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);" (assignment_expression "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0)" identifier = (cast_expression "(int *)(*pcStack_94)(puVar3,apSStack_a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_94)(puVar3,apSStack_a0)" (parenthesized_expression "(*pcStack_94)" ( (pointer_expression "*pcStack_94" * identifier) )) (argument_list "(puVar3,apSStack_a0)" ( identifier , identifier ))))) ;) (if_statement "if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }" { (expression_statement "this_00 = (Symbol *)&DAT_00000091;" (assignment_expression "this_00 = (Symbol *)&DAT_00000091" identifier = (cast_expression "(Symbol *)&DAT_00000091" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000091" & identifier))) ;) (goto_statement "goto LAB_0030e7e8;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (Sized_symbol *)(*pcStack_90)();" (assignment_expression "unaff_s6 = (Sized_symbol *)(*pcStack_90)()" identifier = (cast_expression "(Sized_symbol *)(*pcStack_90)()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_90)()" (parenthesized_expression "(*pcStack_90)" ( (pointer_expression "*pcStack_90" * identifier) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(pSVar6 != (Symbol *)unaff_s6)" ( (binary_expression "pSVar6 != (Symbol *)unaff_s6" identifier != (cast_expression "(Symbol *)unaff_s6" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);" (assignment_expression "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700)" identifier = (cast_expression "(code *)(PTR_LAB_004c4fd8 + -0x3700)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_004c4fd8 + -0x3700)" ( (binary_expression "PTR_LAB_004c4fd8 + -0x3700" identifier + number_literal) )))) ;) (expression_statement "unaff_s6 = (Sized_symbol *)FUN_0030c900();" (assignment_expression "unaff_s6 = (Sized_symbol *)FUN_0030c900()" identifier = (cast_expression "(Sized_symbol *)FUN_0030c900()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0030c900()" identifier (argument_list "()" ( ))))) ;) (do_statement "do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);" do (compound_statement "{\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    }" { (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" identifier = identifier) ;) (expression_statement "pOVar17 = param_5;" (assignment_expression "pOVar17 = param_5" identifier = identifier) ;) (expression_statement "pOVar18 = (Object *)param_6;" (assignment_expression "pOVar18 = (Object *)param_6" identifier = (cast_expression "(Object *)param_6" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*local_38)(unaff_s6,param_2,param_3);" (call_expression "(*local_38)(unaff_s6,param_2,param_3)" (parenthesized_expression "(*local_38)" ( (pointer_expression "*local_38" * identifier) )) (argument_list "(unaff_s6,param_2,param_3)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_40[0] = unaff_s6;" (assignment_expression "local_40[0] = unaff_s6" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar1 = (int *)(*local_34)(pSVar13,local_40);" (assignment_expression "piVar1 = (int *)(*local_34)(pSVar13,local_40)" identifier = (cast_expression "(int *)(*local_34)(pSVar13,local_40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_34)(pSVar13,local_40)" (parenthesized_expression "(*local_34)" ( (pointer_expression "*local_34" * identifier) )) (argument_list "(pSVar13,local_40)" ( identifier , identifier ))))) ;) (if_statement "if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }" { (expression_statement "pSVar6 = (Symbol *)&DAT_00000091;" (assignment_expression "pSVar6 = (Symbol *)&DAT_00000091" identifier = (cast_expression "(Symbol *)&DAT_00000091" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000091" & identifier))) ;) (goto_statement "goto LAB_0030e62c;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (Sized_symbol *)(*local_30)();" (assignment_expression "unaff_s6 = (Sized_symbol *)(*local_30)()" identifier = (cast_expression "(Sized_symbol *)(*local_30)()" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*local_30)()" (parenthesized_expression "(*local_30)" ( (pointer_expression "*local_30" * identifier) )) (argument_list "()" ( ))))) ;) }) while (parenthesized_expression "(param_1 != unaff_s6)" ( (binary_expression "param_1 != unaff_s6" identifier != identifier) )) ;) }) return ; }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) IDENT (ERROR < LIT) , (ERROR (function_declarator IDENT (ERROR >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { TYPE) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < BOOL) > IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (ERROR (binary_expression (binary_expression (binary_expression IDENT < LIT) > (ERROR : :) IDENT) < BOOL) > ( (ERROR (call_expression (parenthesized_expression ( (comma_expression (binary_expression (binary_expression IDENT < LIT) > (pointer_expression * (ERROR )) IDENT)) , (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , IDENT))))) )) (ERROR ; if) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )))) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;)) (expression_statement (comma_expression (assignment_expression IDENT = (binary_expression IDENT < LIT)) , (binary_expression BOOL > (ERROR ;) (assignment_expression IDENT = (binary_expression IDENT + LIT)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (comma_expression (binary_expression IDENT < LIT) , (binary_expression BOOL > (parenthesized_expression ( (ERROR (comma_expression IDENT , (comma_expression IDENT , (comma_expression IDENT , (comma_expression (call_expression IDENT (argument_list ( IDENT , LIT ))) , (comma_expression IDENT , IDENT))))) : :) (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT < LIT) > (ERROR ;) (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT ))))) ;) (do_statement do (compound_statement { (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 * IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }) while (parenthesized_expression ( (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) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;)) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) >> LIT) )) + LIT) & LIT) )) < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )) < LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) ;) })) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (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 * IDENT) )) (argument_list ( IDENT , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }) return ; }))
(declaration "void __thiscall\ngold::Symbol_table::override<64,false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int *piVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Symbol_table::" (identifier "gold") (: ":") (: ":") (identifier "Symbol_table") (: ":") (: ":")) (identifier "override") (ERROR "<64" (< "<") (number_literal "64")) (, ",") (ERROR "false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)\n\n{\n  int" (function_declarator "false>\n          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)" (identifier "false") (ERROR ">" (> ">")) (parameter_list "(Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,\n          Object *param_5,char *param_6)" (( "(") (parameter_declaration "Symbol_table *this" (type_identifier "Symbol_table") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Sized_symbol *param_1" (type_identifier "Sized_symbol") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "Sym *param_2" (type_identifier "Sym") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "bool param_4" (primitive_type "bool") (identifier "param_4")) (, ",") (parameter_declaration "Object *param_5" (type_identifier "Object") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) (, ",") (parameter_declaration "char *param_6" (primitive_type "char") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) () ")"))) ({ "{") (primitive_type "int")) (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "Symbol *pSVar6;" (type_identifier "Symbol") (pointer_declarator "*pSVar6" (* "*") (identifier "pSVar6")) (; ";")) (declaration "Symbol *this_00;" (type_identifier "Symbol") (pointer_declarator "*this_00" (* "*") (identifier "this_00")) (; ";")) (declaration "Sym *pSVar7;" (type_identifier "Sym") (pointer_declarator "*pSVar7" (* "*") (identifier "pSVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "Symbol *pSVar9;" (type_identifier "Symbol") (pointer_declarator "*pSVar9" (* "*") (identifier "pSVar9")) (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "Sized_symbol *unaff_s6;" (type_identifier "Sized_symbol") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "Symbol_table *pSVar13;" (type_identifier "Symbol_table") (pointer_declarator "*pSVar13" (* "*") (identifier "pSVar13")) (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "code *pcVar15;" (type_identifier "code") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "Symbol *apSStackY_f0 [2];" (type_identifier "Symbol") (pointer_declarator "*apSStackY_f0 [2]" (* "*") (array_declarator "apSStackY_f0 [2]" (identifier "apSStackY_f0") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "Sym *pSStackY_e8;" (type_identifier "Sym") (pointer_declarator "*pSStackY_e8" (* "*") (identifier "pSStackY_e8")) (; ";")) (declaration "Symbol *pSStackY_e4;" (type_identifier "Symbol") (pointer_declarator "*pSStackY_e4" (* "*") (identifier "pSStackY_e4")) (; ";")) (declaration "uint uStackY_e0;" (type_identifier "uint") (identifier "uStackY_e0") (; ";")) (declaration "uint uStackY_dc;" (type_identifier "uint") (identifier "uStackY_dc") (; ";")) (declaration "Object *pOStackY_d8;" (type_identifier "Object") (pointer_declarator "*pOStackY_d8" (* "*") (identifier "pOStackY_d8")) (; ";")) (declaration "undefined4 uStackY_d4;" (type_identifier "undefined4") (identifier "uStackY_d4") (; ";")) (declaration "Sized_symbol *pSStackY_d0;" (type_identifier "Sized_symbol") (pointer_declarator "*pSStackY_d0" (* "*") (identifier "pSStackY_d0")) (; ";")) (declaration "undefined *puStackY_cc;" (type_identifier "undefined") (pointer_declarator "*puStackY_cc" (* "*") (identifier "puStackY_cc")) (; ";")) (declaration "Sized_symbol **ppSStackY_c8;" (type_identifier "Sized_symbol") (pointer_declarator "**ppSStackY_c8" (* "*") (pointer_declarator "*ppSStackY_c8" (* "*") (identifier "ppSStackY_c8"))) (; ";")) (declaration "code *pcStackY_c4;" (type_identifier "code") (pointer_declarator "*pcStackY_c4" (* "*") (identifier "pcStackY_c4")) (; ";")) (declaration "Sized_symbol *apSStack_a0 [2];" (type_identifier "Sized_symbol") (pointer_declarator "*apSStack_a0 [2]" (* "*") (array_declarator "apSStack_a0 [2]" (identifier "apSStack_a0") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "code *pcStack_98;" (type_identifier "code") (pointer_declarator "*pcStack_98" (* "*") (identifier "pcStack_98")) (; ";")) (declaration "code *pcStack_94;" (type_identifier "code") (pointer_declarator "*pcStack_94" (* "*") (identifier "pcStack_94")) (; ";")) (declaration "code *pcStack_90;" (type_identifier "code") (pointer_declarator "*pcStack_90" (* "*") (identifier "pcStack_90")) (; ";")) (declaration "Sized_symbol *pSStack_88;" (type_identifier "Sized_symbol") (pointer_declarator "*pSStack_88" (* "*") (identifier "pSStack_88")) (; ";")) (declaration "Sym *pSStack_84;" (type_identifier "Sym") (pointer_declarator "*pSStack_84" (* "*") (identifier "pSStack_84")) (; ";")) (declaration "uint uStack_80;" (type_identifier "uint") (identifier "uStack_80") (; ";")) (declaration "uint uStack_7c;" (type_identifier "uint") (identifier "uStack_7c") (; ";")) (declaration "Object *pOStack_78;" (type_identifier "Object") (pointer_declarator "*pOStack_78" (* "*") (identifier "pOStack_78")) (; ";")) (declaration "char *pcStack_74;" (primitive_type "char") (pointer_declarator "*pcStack_74" (* "*") (identifier "pcStack_74")) (; ";")) (declaration "Sized_symbol *pSStack_70;" (type_identifier "Sized_symbol") (pointer_declarator "*pSStack_70" (* "*") (identifier "pSStack_70")) (; ";")) (declaration "Symbol_table *pSStack_6c;" (type_identifier "Symbol_table") (pointer_declarator "*pSStack_6c" (* "*") (identifier "pSStack_6c")) (; ";")) (declaration "Sized_symbol **ppSStack_68;" (type_identifier "Sized_symbol") (pointer_declarator "**ppSStack_68" (* "*") (pointer_declarator "*ppSStack_68" (* "*") (identifier "ppSStack_68"))) (; ";")) (declaration "code *pcStack_64;" (type_identifier "code") (pointer_declarator "*pcStack_64" (* "*") (identifier "pcStack_64")) (; ";")) (declaration "Object *pOVar17;" (type_identifier "Object") (pointer_declarator "*pOVar17" (* "*") (identifier "pOVar17")) (; ";")) (declaration "Object *pOVar18;" (type_identifier "Object") (pointer_declarator "*pOVar18" (* "*") (identifier "pOVar18")) (; ";")) (declaration "Sized_symbol *local_40 [2];" (type_identifier "Sized_symbol") (pointer_declarator "*local_40 [2]" (* "*") (array_declarator "local_40 [2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "code *local_38;" (type_identifier "code") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "code *local_34;" (type_identifier "code") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "code *local_30;" (type_identifier "code") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "local_38 = (code *)PTR_override<false>_004c4ff8;" (assignment_expression "local_38 = (code *)PTR_override<false>_004c4ff8" (identifier "local_38") (= "=") (binary_expression "(code *)PTR_override<false>_004c4ff8" (binary_expression "(code *)PTR_override<false" (cast_expression "(code *)PTR_override" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_override")) (< "<") (false "false")) (> ">") (identifier "_004c4ff8"))) (; ";")) (expression_statement "uVar12 = (uint)param_4;" (assignment_expression "uVar12 = (uint)param_4" (identifier "uVar12") (= "=") (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" (identifier "uVar10") (= "=") (identifier "uVar12")) (; ";")) (expression_statement "pOVar17 = param_5;" (assignment_expression "pOVar17 = param_5" (identifier "pOVar17") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pOVar18 = (Object *)param_6;" (assignment_expression "pOVar18 = (Object *)param_6" (identifier "pOVar18") (= "=") (cast_expression "(Object *)param_6" (( "(") (type_descriptor "Object *" (type_identifier "Object") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_6"))) (; ";")) (ERROR "Sized_symbol<64>::override<false>\n            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }\n  return;\n}" (binary_expression "Sized_symbol<64>::override<false" (binary_expression "Sized_symbol<64>::override" (binary_expression "Sized_symbol<64" (identifier "Sized_symbol") (< "<") (number_literal "64")) (> ">") (ERROR "::" (: ":") (: ":")) (identifier "override")) (< "<") (false "false")) (> ">") (( "(") (ERROR "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0)" (call_expression "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);\n  if (*(int *)(param_1 + 0x28) << 0x15 < 0)" (parenthesized_expression "(Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6)" (( "(") (comma_expression "Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6" (binary_expression "Sized_symbol<64> *)param_1" (binary_expression "Sized_symbol<64" (identifier "Sized_symbol") (< "<") (number_literal "64")) (> ">") (pointer_expression "*)param_1" (* "*") (ERROR ")" () ")")) (identifier "param_1"))) (, ",") (comma_expression "param_2,param_3,param_4,param_5,param_6" (identifier "param_2") (, ",") (comma_expression "param_3,param_4,param_5,param_6" (identifier "param_3") (, ",") (comma_expression "param_4,param_5,param_6" (identifier "param_4") (, ",") (comma_expression "param_5,param_6" (identifier "param_5") (, ",") (identifier "param_6")))))) () ")")) (ERROR ";\n  if" (; ";") (if "if")) (argument_list "(*(int *)(param_1 + 0x28) << 0x15 < 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) << 0x15 < 0" (binary_expression "*(int *)(param_1 + 0x28) << 0x15" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x15")) (< "<") (number_literal "0")) () ")")))) (compound_statement "{\n    local_34 = (code *)PTR_operator___004c4ab4;\n    pSVar13 = this + 0xb4;\n    local_40[0] = param_1;\n    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);\n    pSVar6 = (Symbol *)&DAT_0000008b;\n    if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }\n    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);\n    unaff_s6 = (Sized_symbol *)FUN_0030c900();\n    do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);\n  }" ({ "{") (expression_statement "local_34 = (code *)PTR_operator___004c4ab4;" (assignment_expression "local_34 = (code *)PTR_operator___004c4ab4" (identifier "local_34") (= "=") (cast_expression "(code *)PTR_operator___004c4ab4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator___004c4ab4"))) (; ";")) (expression_statement "pSVar13 = this + 0xb4;" (assignment_expression "pSVar13 = this + 0xb4" (identifier "pSVar13") (= "=") (binary_expression "this + 0xb4" (identifier "this") (+ "+") (number_literal "0xb4"))) (; ";")) (expression_statement "local_40[0] = param_1;" (assignment_expression "local_40[0] = param_1" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40)" (parenthesized_expression "(*(code *)PTR_operator___004c4ab4)" (( "(") (pointer_expression "*(code *)PTR_operator___004c4ab4" (* "*") (cast_expression "(code *)PTR_operator___004c4ab4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator___004c4ab4"))) () ")")) (argument_list "(pSVar13,local_40)" (( "(") (identifier "pSVar13") (, ",") (identifier "local_40") () ")"))))) (; ";")) (expression_statement "pSVar6 = (Symbol *)&DAT_0000008b;" (assignment_expression "pSVar6 = (Symbol *)&DAT_0000008b" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)&DAT_0000008b" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000008b" (& "&") (identifier "DAT_0000008b")))) (; ";")) (if_statement "if (*piVar1 == 0) {\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);\n      pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;\n      puVar14 = PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)();\n      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);\n      pcStack_74 = param_6;\n      pOStack_78 = param_5;\n      pSStack_88 = param_1;\n      pSStack_84 = param_2;\n      uStack_80 = param_3;\n      uStack_7c = uVar12;\n      pSStack_70 = unaff_s6;\n      pSStack_6c = pSVar13;\n      ppSStack_68 = local_40;\n      pcStack_64 = pcVar15;\n      Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);\n      iVar2 = *(int *)pSVar7;\n      uVar4 = *(undefined4 *)(iVar2 + 8);\n      uVar11 = *(undefined4 *)(iVar2 + 0x14);\n      uVar8 = *(undefined4 *)(iVar2 + 0x10);\n      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n      *(undefined4 *)(pSVar6 + 0x30) = uVar4;\n      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;\n      *(undefined4 *)(pSVar6 + 0x38) = uVar8;\n      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }\n      return;\n    }" ({ "{") (labeled_statement "LAB_0030e62c:\n      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);" (statement_identifier "LAB_0030e62c") (: ":") (expression_statement "pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);" (assignment_expression "pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294)" (identifier "pSVar7") (= "=") (cast_expression "(Sym *)(PTR_UINT_004c12dc + -0x7294)" (( "(") (type_descriptor "Sym *" (type_identifier "Sym") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_UINT_004c12dc + -0x7294)" (( "(") (binary_expression "PTR_UINT_004c12dc + -0x7294" (identifier "PTR_UINT_004c12dc") (+ "+") (number_literal "-0x7294")) () ")")))) (; ";"))) (expression_statement "pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758;" (comma_expression "pcVar15 = override<64,true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758" (assignment_expression "pcVar15 = override<64" (identifier "pcVar15") (= "=") (binary_expression "override<64" (identifier "override") (< "<") (number_literal "64"))) (, ",") (binary_expression "true>;\n      puVar3 = PTR_UINT_004c12dc + -0x7758" (true "true") (> ">") (ERROR ";" (; ";")) (assignment_expression "puVar3 = PTR_UINT_004c12dc + -0x7758" (identifier "puVar3") (= "=") (binary_expression "PTR_UINT_004c12dc + -0x7758" (identifier "PTR_UINT_004c12dc") (+ "+") (number_literal "-0x7758"))))) (; ";")) (expression_statement "puVar14 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar14 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar14") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (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 "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_98 = *(code **)(puVar14 + 0x1b69b8);" (assignment_expression "pcStack_98 = *(code **)(puVar14 + 0x1b69b8)" (identifier "pcStack_98") (= "=") (pointer_expression "*(code **)(puVar14 + 0x1b69b8)" (* "*") (cast_expression "(code **)(puVar14 + 0x1b69b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14 + 0x1b69b8)" (( "(") (binary_expression "puVar14 + 0x1b69b8" (identifier "puVar14") (+ "+") (number_literal "0x1b69b8")) () ")"))))) (; ";")) (expression_statement "pcStack_74 = param_6;" (assignment_expression "pcStack_74 = param_6" (identifier "pcStack_74") (= "=") (identifier "param_6")) (; ";")) (expression_statement "pOStack_78 = param_5;" (assignment_expression "pOStack_78 = param_5" (identifier "pOStack_78") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pSStack_88 = param_1;" (assignment_expression "pSStack_88 = param_1" (identifier "pSStack_88") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pSStack_84 = param_2;" (assignment_expression "pSStack_84 = param_2" (identifier "pSStack_84") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uStack_80 = param_3;" (assignment_expression "uStack_80 = param_3" (identifier "uStack_80") (= "=") (identifier "param_3")) (; ";")) (expression_statement "uStack_7c = uVar12;" (assignment_expression "uStack_7c = uVar12" (identifier "uStack_7c") (= "=") (identifier "uVar12")) (; ";")) (expression_statement "pSStack_70 = unaff_s6;" (assignment_expression "pSStack_70 = unaff_s6" (identifier "pSStack_70") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pSStack_6c = pSVar13;" (assignment_expression "pSStack_6c = pSVar13" (identifier "pSStack_6c") (= "=") (identifier "pSVar13")) (; ";")) (expression_statement "ppSStack_68 = local_40;" (assignment_expression "ppSStack_68 = local_40" (identifier "ppSStack_68") (= "=") (identifier "local_40")) (; ";")) (expression_statement "pcStack_64 = pcVar15;" (assignment_expression "pcStack_64 = pcVar15" (identifier "pcStack_64") (= "=") (identifier "pcVar15")) (; ";")) (labeled_statement "Symbol::override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);" (statement_identifier "Symbol") (: ":") (ERROR ":" (: ":")) (expression_statement "override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210);" (comma_expression "override_base<64,true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" (binary_expression "override_base<64" (identifier "override_base") (< "<") (number_literal "64")) (, ",") (binary_expression "true>\n                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" (true "true") (> ">") (parenthesized_expression "(pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::default_options_ + 0x3210)" (( "(") (ERROR "pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options::" (comma_expression "pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" (identifier "pSVar6") (, ",") (comma_expression "pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" (identifier "pSVar7") (, ",") (comma_expression "uVar10,SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" (identifier "uVar10") (, ",") (comma_expression "SUB41(pOVar17,0),pOVar18,\n                 Position_dependent_options" (call_expression "SUB41(pOVar17,0)" (identifier "SUB41") (argument_list "(pOVar17,0)" (( "(") (identifier "pOVar17") (, ",") (number_literal "0") () ")"))) (, ",") (comma_expression "pOVar18,\n                 Position_dependent_options" (identifier "pOVar18") (, ",") (identifier "Position_dependent_options")))))) (: ":") (: ":")) (binary_expression "default_options_ + 0x3210" (identifier "default_options_") (+ "+") (number_literal "0x3210")) () ")")))) (; ";"))) (expression_statement "iVar2 = *(int *)pSVar7;" (assignment_expression "iVar2 = *(int *)pSVar7" (identifier "iVar2") (= "=") (pointer_expression "*(int *)pSVar7" (* "*") (cast_expression "(int *)pSVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pSVar7")))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 8)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(iVar2 + 0x14);" (assignment_expression "uVar11 = *(undefined4 *)(iVar2 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(iVar2 + 0x10);" (assignment_expression "uVar8 = *(undefined4 *)(iVar2 + 0x10)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);" (assignment_expression "*(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc)" (pointer_expression "*(undefined4 *)(pSVar6 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pSVar6 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x34)" (( "(") (binary_expression "pSVar6 + 0x34" (identifier "pSVar6") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pSVar6 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x30) = uVar4" (pointer_expression "*(undefined4 *)(pSVar6 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pSVar6 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x30)" (( "(") (binary_expression "pSVar6 + 0x30" (identifier "pSVar6") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(pSVar6 + 0x3c) = uVar11;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x3c) = uVar11" (pointer_expression "*(undefined4 *)(pSVar6 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(pSVar6 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x3c)" (( "(") (binary_expression "pSVar6 + 0x3c" (identifier "pSVar6") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(pSVar6 + 0x38) = uVar8;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x38) = uVar8" (pointer_expression "*(undefined4 *)(pSVar6 + 0x38)" (* "*") (cast_expression "(undefined4 *)(pSVar6 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x38)" (( "(") (binary_expression "pSVar6 + 0x38" (identifier "pSVar6") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }" (if "if") (parenthesized_expression "(*(int *)(pSVar6 + 0x28) << 0x15 < 0)" (( "(") (binary_expression "*(int *)(pSVar6 + 0x28) << 0x15 < 0" (binary_expression "*(int *)(pSVar6 + 0x28) << 0x15" (pointer_expression "*(int *)(pSVar6 + 0x28)" (* "*") (cast_expression "(int *)(pSVar6 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x28)" (( "(") (binary_expression "pSVar6 + 0x28" (identifier "pSVar6") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x15")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        pcStack_94 = *(code **)(puVar14 + 0x1b6470);\n        puVar3 = puVar3 + 0xb4;\n        apSStack_a0[0] = (Sized_symbol *)pSVar6;\n        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n        this_00 = (Symbol *)&DAT_0000008b;\n        if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }\n        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);\n        unaff_s6 = (Sized_symbol *)FUN_0030c900();\n        do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);\n      }" ({ "{") (expression_statement "pcStack_94 = *(code **)(puVar14 + 0x1b6470);" (assignment_expression "pcStack_94 = *(code **)(puVar14 + 0x1b6470)" (identifier "pcStack_94") (= "=") (pointer_expression "*(code **)(puVar14 + 0x1b6470)" (* "*") (cast_expression "(code **)(puVar14 + 0x1b6470)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14 + 0x1b6470)" (( "(") (binary_expression "puVar14 + 0x1b6470" (identifier "puVar14") (+ "+") (number_literal "0x1b6470")) () ")"))))) (; ";")) (expression_statement "puVar3 = puVar3 + 0xb4;" (assignment_expression "puVar3 = puVar3 + 0xb4" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 0xb4" (identifier "puVar3") (+ "+") (number_literal "0xb4"))) (; ";")) (expression_statement "apSStack_a0[0] = (Sized_symbol *)pSVar6;" (assignment_expression "apSStack_a0[0] = (Sized_symbol *)pSVar6" (subscript_expression "apSStack_a0[0]" (identifier "apSStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(Sized_symbol *)pSVar6" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pSVar6"))) (; ";")) (expression_statement "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);" (assignment_expression "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*pcStack_94)(puVar3,apSStack_a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_94)(puVar3,apSStack_a0)" (parenthesized_expression "(*pcStack_94)" (( "(") (pointer_expression "*pcStack_94" (* "*") (identifier "pcStack_94")) () ")")) (argument_list "(puVar3,apSStack_a0)" (( "(") (identifier "puVar3") (, ",") (identifier "apSStack_a0") () ")"))))) (; ";")) (expression_statement "this_00 = (Symbol *)&DAT_0000008b;" (assignment_expression "this_00 = (Symbol *)&DAT_0000008b" (identifier "this_00") (= "=") (cast_expression "(Symbol *)&DAT_0000008b" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000008b" (& "&") (identifier "DAT_0000008b")))) (; ";")) (if_statement "if (*piVar1 == 0) {\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);\n          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);\n          pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;\n          (*pcVar15)(iVar5);\n          uStackY_d4 = 0x4c9240;\n          pSStackY_e8 = pSVar7;\n          pSStackY_e4 = pSVar6;\n          uStackY_e0 = uVar10;\n          uStackY_dc = (uint)pOVar17 & 0xff;\n          pOStackY_d8 = pOVar18;\n          pSStackY_d0 = unaff_s6;\n          puStackY_cc = puVar3;\n          ppSStackY_c8 = apSStack_a0;\n          pcStackY_c4 = pcVar16;\n          Symbol::override_base_with_special(this_00,pSVar9);\n          iVar2 = *(int *)(this_00 + 0x28);\n          uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n          *(undefined4 *)(this_00 + 0x34) = uVar4;\n          if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }\n          uVar10 = (uint)(iVar2 << 4) >> 0x1c;\n          if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }\n          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }\n          return;\n        }" ({ "{") (labeled_statement "LAB_0030e7e8:\n          pcVar15 = *(code **)(puVar14 + 0x1b33ec);" (statement_identifier "LAB_0030e7e8") (: ":") (expression_statement "pcVar15 = *(code **)(puVar14 + 0x1b33ec);" (assignment_expression "pcVar15 = *(code **)(puVar14 + 0x1b33ec)" (identifier "pcVar15") (= "=") (pointer_expression "*(code **)(puVar14 + 0x1b33ec)" (* "*") (cast_expression "(code **)(puVar14 + 0x1b33ec)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14 + 0x1b33ec)" (( "(") (binary_expression "puVar14 + 0x1b33ec" (identifier "puVar14") (+ "+") (number_literal "0x1b33ec")) () ")"))))) (; ";"))) (expression_statement "pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);" (assignment_expression "pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" (identifier "pSVar9") (= "=") (cast_expression "(Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar14 + 0x1b2c98) + -0x72c4)" (( "(") (binary_expression "*(int *)(puVar14 + 0x1b2c98) + -0x72c4" (pointer_expression "*(int *)(puVar14 + 0x1b2c98)" (* "*") (cast_expression "(int *)(puVar14 + 0x1b2c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 0x1b2c98)" (( "(") (binary_expression "puVar14 + 0x1b2c98" (identifier "puVar14") (+ "+") (number_literal "0x1b2c98")) () ")")))) (+ "+") (number_literal "-0x72c4")) () ")")))) (; ";")) (expression_statement "pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;" (assignment_expression "pcVar16 = override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" (identifier "pcVar16") (= "=") (binary_expression "override_with_special<32>;\n          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" (binary_expression "override_with_special<32" (identifier "override_with_special") (< "<") (number_literal "32")) (> ">") (ERROR ";" (; ";")) (assignment_expression "iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758" (identifier "iVar5") (= "=") (binary_expression "*(int *)(puVar14 + 0x1b2c98) + -0x7758" (pointer_expression "*(int *)(puVar14 + 0x1b2c98)" (* "*") (cast_expression "(int *)(puVar14 + 0x1b2c98)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 0x1b2c98)" (( "(") (binary_expression "puVar14 + 0x1b2c98" (identifier "puVar14") (+ "+") (number_literal "0x1b2c98")) () ")")))) (+ "+") (number_literal "-0x7758"))))) (; ";")) (expression_statement "(*pcVar15)(iVar5);" (call_expression "(*pcVar15)(iVar5)" (parenthesized_expression "(*pcVar15)" (( "(") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "uStackY_d4 = 0x4c9240;" (assignment_expression "uStackY_d4 = 0x4c9240" (identifier "uStackY_d4") (= "=") (number_literal "0x4c9240")) (; ";")) (expression_statement "pSStackY_e8 = pSVar7;" (assignment_expression "pSStackY_e8 = pSVar7" (identifier "pSStackY_e8") (= "=") (identifier "pSVar7")) (; ";")) (expression_statement "pSStackY_e4 = pSVar6;" (assignment_expression "pSStackY_e4 = pSVar6" (identifier "pSStackY_e4") (= "=") (identifier "pSVar6")) (; ";")) (expression_statement "uStackY_e0 = uVar10;" (assignment_expression "uStackY_e0 = uVar10" (identifier "uStackY_e0") (= "=") (identifier "uVar10")) (; ";")) (expression_statement "uStackY_dc = (uint)pOVar17 & 0xff;" (assignment_expression "uStackY_dc = (uint)pOVar17 & 0xff" (identifier "uStackY_dc") (= "=") (binary_expression "(uint)pOVar17 & 0xff" (cast_expression "(uint)pOVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pOVar17")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "pOStackY_d8 = pOVar18;" (assignment_expression "pOStackY_d8 = pOVar18" (identifier "pOStackY_d8") (= "=") (identifier "pOVar18")) (; ";")) (expression_statement "pSStackY_d0 = unaff_s6;" (assignment_expression "pSStackY_d0 = unaff_s6" (identifier "pSStackY_d0") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStackY_cc = puVar3;" (assignment_expression "puStackY_cc = puVar3" (identifier "puStackY_cc") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "ppSStackY_c8 = apSStack_a0;" (assignment_expression "ppSStackY_c8 = apSStack_a0" (identifier "ppSStackY_c8") (= "=") (identifier "apSStack_a0")) (; ";")) (expression_statement "pcStackY_c4 = pcVar16;" (assignment_expression "pcStackY_c4 = pcVar16" (identifier "pcStackY_c4") (= "=") (identifier "pcVar16")) (; ";")) (labeled_statement "Symbol::override_base_with_special(this_00,pSVar9);" (statement_identifier "Symbol") (: ":") (ERROR ":" (: ":")) (expression_statement "override_base_with_special(this_00,pSVar9);" (call_expression "override_base_with_special(this_00,pSVar9)" (identifier "override_base_with_special") (argument_list "(this_00,pSVar9)" (( "(") (identifier "this_00") (, ",") (identifier "pSVar9") () ")"))) (; ";"))) (expression_statement "iVar2 = *(int *)(this_00 + 0x28);" (assignment_expression "iVar2 = *(int *)(this_00 + 0x28)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(this_00 + 0x28)" (* "*") (cast_expression "(int *)(this_00 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x28)" (( "(") (binary_expression "this_00 + 0x28" (identifier "this_00") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(pSVar9 + 0x34);" (assignment_expression "uVar4 = *(undefined4 *)(pSVar9 + 0x34)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(pSVar9 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pSVar9 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar9 + 0x34)" (( "(") (binary_expression "pSVar9 + 0x34" (identifier "pSVar9") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);" (assignment_expression "*(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30)" (pointer_expression "*(undefined4 *)(this_00 + 0x30)" (* "*") (cast_expression "(undefined4 *)(this_00 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x30)" (( "(") (binary_expression "this_00 + 0x30" (identifier "this_00") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pSVar9 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pSVar9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar9 + 0x30)" (( "(") (binary_expression "pSVar9 + 0x30" (identifier "pSVar9") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(this_00 + 0x34) = uVar4;" (assignment_expression "*(undefined4 *)(this_00 + 0x34) = uVar4" (pointer_expression "*(undefined4 *)(this_00 + 0x34)" (* "*") (cast_expression "(undefined4 *)(this_00 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x34)" (( "(") (binary_expression "this_00 + 0x34" (identifier "this_00") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (if_statement "if (iVar2 << 0x15 < 0) {\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }" (if "if") (parenthesized_expression "(iVar2 << 0x15 < 0)" (( "(") (binary_expression "iVar2 << 0x15 < 0" (binary_expression "iVar2 << 0x15" (identifier "iVar2") (<< "<<") (number_literal "0x15")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);\n            apSStackY_f0[0] = this_00;\n            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n            uVar4 = 0x457;\n            if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }\n            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);\n            do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);\n            iVar2 = *(int *)(this_00 + 0x28);\n          }" ({ "{") (expression_statement "pcVar16 = *(code **)(pcVar15 + 0x1b62b4);" (assignment_expression "pcVar16 = *(code **)(pcVar15 + 0x1b62b4)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(pcVar15 + 0x1b62b4)" (* "*") (cast_expression "(code **)(pcVar15 + 0x1b62b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar15 + 0x1b62b4)" (( "(") (binary_expression "pcVar15 + 0x1b62b4" (identifier "pcVar15") (+ "+") (number_literal "0x1b62b4")) () ")"))))) (; ";")) (expression_statement "apSStackY_f0[0] = this_00;" (assignment_expression "apSStackY_f0[0] = this_00" (subscript_expression "apSStackY_f0[0]" (identifier "apSStackY_f0") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "this_00")) (; ";")) (expression_statement "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);" (assignment_expression "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iVar5 + 0xb4,apSStackY_f0)" (( "(") (binary_expression "iVar5 + 0xb4" (identifier "iVar5") (+ "+") (number_literal "0xb4")) (, ",") (identifier "apSStackY_f0") () ")"))))) (; ";")) (expression_statement "uVar4 = 0x457;" (assignment_expression "uVar4 = 0x457" (identifier "uVar4") (= "=") (number_literal "0x457")) (; ";")) (if_statement "if (*piVar1 == 0) {\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);\n              return;\n            }" ({ "{") (labeled_statement "LAB_0030e9f0:\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);" (statement_identifier "LAB_0030e9f0") (: ":") (expression_statement "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);" (call_expression "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b3230))" (( "(") (pointer_expression "**(code **)(pcVar15 + 0x1b3230)" (* "*") (pointer_expression "*(code **)(pcVar15 + 0x1b3230)" (* "*") (cast_expression "(code **)(pcVar15 + 0x1b3230)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar15 + 0x1b3230)" (( "(") (binary_expression "pcVar15 + 0x1b3230" (identifier "pcVar15") (+ "+") (number_literal "0x1b3230")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec)" (( "(") (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x7758" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" (* "*") (cast_expression "(int *)(pcVar15 + 0x1b2adc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x1b2adc)" (( "(") (binary_expression "pcVar15 + 0x1b2adc" (identifier "pcVar15") (+ "+") (number_literal "0x1b2adc")) () ")")))) (+ "+") (number_literal "-0x7758")) (, ",") (identifier "uVar4") (, ",") (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x72ec" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" (* "*") (cast_expression "(int *)(pcVar15 + 0x1b2adc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x1b2adc)" (( "(") (binary_expression "pcVar15 + 0x1b2adc" (identifier "pcVar15") (+ "+") (number_literal "0x1b2adc")) () ")")))) (+ "+") (number_literal "-0x72ec")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);" (assignment_expression "pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457)" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)FUN_0030c880(*piVar1,0x457)" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0030c880(*piVar1,0x457)" (identifier "FUN_0030c880") (argument_list "(*piVar1,0x457)" (( "(") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (, ",") (number_literal "0x457") () ")"))))) (; ";")) (do_statement "do {\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            } while (this_00 != pSVar6);" (do "do") (compound_statement "{\n              Symbol::override_base_with_special(pSVar6,pSVar9);\n              uVar4 = *(undefined4 *)(pSVar9 + 0x34);\n              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);\n              *(undefined4 *)(pSVar6 + 0x34) = uVar4;\n              apSStackY_f0[0] = pSVar6;\n              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);\n              if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }\n              pSVar6 = (Symbol *)FUN_0030c880();\n            }" ({ "{") (labeled_statement "Symbol::override_base_with_special(pSVar6,pSVar9);" (statement_identifier "Symbol") (: ":") (ERROR ":" (: ":")) (expression_statement "override_base_with_special(pSVar6,pSVar9);" (call_expression "override_base_with_special(pSVar6,pSVar9)" (identifier "override_base_with_special") (argument_list "(pSVar6,pSVar9)" (( "(") (identifier "pSVar6") (, ",") (identifier "pSVar9") () ")"))) (; ";"))) (expression_statement "uVar4 = *(undefined4 *)(pSVar9 + 0x34);" (assignment_expression "uVar4 = *(undefined4 *)(pSVar9 + 0x34)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(pSVar9 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pSVar9 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar9 + 0x34)" (( "(") (binary_expression "pSVar9 + 0x34" (identifier "pSVar9") (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);" (assignment_expression "*(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30)" (pointer_expression "*(undefined4 *)(pSVar6 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pSVar6 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x30)" (( "(") (binary_expression "pSVar6 + 0x30" (identifier "pSVar6") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pSVar9 + 0x30)" (* "*") (cast_expression "(undefined4 *)(pSVar9 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar9 + 0x30)" (( "(") (binary_expression "pSVar9 + 0x30" (identifier "pSVar9") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(pSVar6 + 0x34) = uVar4;" (assignment_expression "*(undefined4 *)(pSVar6 + 0x34) = uVar4" (pointer_expression "*(undefined4 *)(pSVar6 + 0x34)" (* "*") (cast_expression "(undefined4 *)(pSVar6 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pSVar6 + 0x34)" (( "(") (binary_expression "pSVar6 + 0x34" (identifier "pSVar6") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "apSStackY_f0[0] = pSVar6;" (assignment_expression "apSStackY_f0[0] = pSVar6" (subscript_expression "apSStackY_f0[0]" (identifier "apSStackY_f0") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "pSVar6")) (; ";")) (expression_statement "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);" (assignment_expression "piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar16)(iVar5 + 0xb4,apSStackY_f0)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iVar5 + 0xb4,apSStackY_f0)" (( "(") (binary_expression "iVar5 + 0xb4" (identifier "iVar5") (+ "+") (number_literal "0xb4")) (, ",") (identifier "apSStackY_f0") () ")"))))) (; ";")) (if_statement "if (*piVar1 == 0) {\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar4 = 0x45d;\n                goto LAB_0030e9f0;\n              }" ({ "{") (expression_statement "uVar4 = 0x45d;" (assignment_expression "uVar4 = 0x45d" (identifier "uVar4") (= "=") (number_literal "0x45d")) (; ";")) (goto_statement "goto LAB_0030e9f0;" (goto "goto") (statement_identifier "LAB_0030e9f0") (; ";")) (} "}"))) (expression_statement "pSVar6 = (Symbol *)FUN_0030c880();" (assignment_expression "pSVar6 = (Symbol *)FUN_0030c880()" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)FUN_0030c880()" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0030c880()" (identifier "FUN_0030c880") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(this_00 != pSVar6)" (( "(") (binary_expression "this_00 != pSVar6" (identifier "this_00") (!= "!=") (identifier "pSVar6")) () ")")) (; ";")) (expression_statement "iVar2 = *(int *)(this_00 + 0x28);" (assignment_expression "iVar2 = *(int *)(this_00 + 0x28)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(this_00 + 0x28)" (* "*") (cast_expression "(int *)(this_00 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this_00 + 0x28)" (( "(") (binary_expression "this_00 + 0x28" (identifier "this_00") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar10 = (uint)(iVar2 << 4) >> 0x1c;" (assignment_expression "uVar10 = (uint)(iVar2 << 4) >> 0x1c" (identifier "uVar10") (= "=") (binary_expression "(uint)(iVar2 << 4) >> 0x1c" (call_expression "(uint)(iVar2 << 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar2 << 4)" (( "(") (binary_expression "iVar2 << 4" (identifier "iVar2") (<< "<<") (number_literal "4")) () ")"))) (>> ">>") (number_literal "0x1c"))) (; ";")) (if_statement "if (uVar10 == 0) {\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);\n            return;\n          }" ({ "{") (labeled_statement "LAB_0030e904:\n            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);" (statement_identifier "LAB_0030e904") (: ":") (expression_statement "(**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);" (call_expression "(**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b6224))" (( "(") (pointer_expression "**(code **)(pcVar15 + 0x1b6224)" (* "*") (pointer_expression "*(code **)(pcVar15 + 0x1b6224)" (* "*") (cast_expression "(code **)(pcVar15 + 0x1b6224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar15 + 0x1b6224)" (( "(") (binary_expression "pcVar15 + 0x1b6224" (identifier "pcVar15") (+ "+") (number_literal "0x1b6224")) () ")"))))) () ")")) (argument_list "(iVar5,this_00)" (( "(") (identifier "iVar5") (, ",") (identifier "this_00") () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }" (if "if") (parenthesized_expression "(((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10))))" (( "(") (binary_expression "((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&\n             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))" (parenthesized_expression "((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2)" (( "(") (binary_expression "(((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2" (parenthesized_expression "(((uint)(iVar2 << 8) >> 0x1e) + 3 & 3)" (( "(") (binary_expression "((uint)(iVar2 << 8) >> 0x1e) + 3 & 3" (binary_expression "((uint)(iVar2 << 8) >> 0x1e) + 3" (parenthesized_expression "((uint)(iVar2 << 8) >> 0x1e)" (( "(") (binary_expression "(uint)(iVar2 << 8) >> 0x1e" (call_expression "(uint)(iVar2 << 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar2 << 8)" (( "(") (binary_expression "iVar2 << 8" (identifier "iVar2") (<< "<<") (number_literal "8")) () ")"))) (>> ">>") (number_literal "0x1e")) () ")")) (+ "+") (number_literal "3")) (& "&") (number_literal "3")) () ")")) (< "<") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))" (( "(") (parenthesized_expression "((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10))" (( "(") (binary_expression "(uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)" (binary_expression "(uVar10 + 0xf & 0xf) < 2" (parenthesized_expression "(uVar10 + 0xf & 0xf)" (( "(") (binary_expression "uVar10 + 0xf & 0xf" (binary_expression "uVar10 + 0xf" (identifier "uVar10") (+ "+") (number_literal "0xf")) (& "&") (number_literal "0xf")) () ")")) (< "<") (number_literal "2")) (|| "||") (parenthesized_expression "(uVar10 == 10)" (( "(") (binary_expression "uVar10 == 10" (identifier "uVar10") (== "==") (number_literal "10")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }\n            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;\n          }" ({ "{") (if_statement "if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }" (if "if") (parenthesized_expression "(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0)" (( "(") (binary_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0" (pointer_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" (* "*") (cast_expression "(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(pcVar15 + 0x1b31b4) + 8)" (( "(") (binary_expression "**(int **)(pcVar15 + 0x1b31b4) + 8" (pointer_expression "**(int **)(pcVar15 + 0x1b31b4)" (* "*") (pointer_expression "*(int **)(pcVar15 + 0x1b31b4)" (* "*") (cast_expression "(int **)(pcVar15 + 0x1b31b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar15 + 0x1b31b4)" (( "(") (binary_expression "pcVar15 + 0x1b31b4" (identifier "pcVar15") (+ "+") (number_literal "0x1b31b4")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              (**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);\n              return;\n            }" ({ "{") (expression_statement "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);" (call_expression "(**(code **)(pcVar15 + 0x1b3230))\n                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4)" (parenthesized_expression "(**(code **)(pcVar15 + 0x1b3230))" (( "(") (pointer_expression "**(code **)(pcVar15 + 0x1b3230)" (* "*") (pointer_expression "*(code **)(pcVar15 + 0x1b3230)" (* "*") (cast_expression "(code **)(pcVar15 + 0x1b3230)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar15 + 0x1b3230)" (( "(") (binary_expression "pcVar15 + 0x1b3230" (identifier "pcVar15") (+ "+") (number_literal "0x1b3230")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,\n                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4)" (( "(") (binary_expression "*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8" (pointer_expression "*(int *)(pcVar15 + 0x1b2a7c)" (* "*") (cast_expression "(int *)(pcVar15 + 0x1b2a7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x1b2a7c)" (( "(") (binary_expression "pcVar15 + 0x1b2a7c" (identifier "pcVar15") (+ "+") (number_literal "0x1b2a7c")) () ")")))) (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x5c") (, ",") (binary_expression "*(int *)(pcVar15 + 0x1b2adc) + -0x71c4" (pointer_expression "*(int *)(pcVar15 + 0x1b2adc)" (* "*") (cast_expression "(int *)(pcVar15 + 0x1b2adc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar15 + 0x1b2adc)" (( "(") (binary_expression "pcVar15 + 0x1b2adc" (identifier "pcVar15") (+ "+") (number_literal "0x1b2adc")) () ")")))) (+ "+") (number_literal "-0x71c4")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')\n            goto LAB_0030e904;" (if "if") (parenthesized_expression "(*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')" (( "(") (binary_expression "*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0'" (pointer_expression "*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" (* "*") (cast_expression "(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195)" (( "(") (binary_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195" (pointer_expression "*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" (* "*") (cast_expression "(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(pcVar15 + 0x1b31b4) + 8)" (( "(") (binary_expression "**(int **)(pcVar15 + 0x1b31b4) + 8" (pointer_expression "**(int **)(pcVar15 + 0x1b31b4)" (* "*") (pointer_expression "*(int **)(pcVar15 + 0x1b31b4)" (* "*") (cast_expression "(int **)(pcVar15 + 0x1b31b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar15 + 0x1b31b4)" (( "(") (binary_expression "pcVar15 + 0x1b31b4" (identifier "pcVar15") (+ "+") (number_literal "0x1b31b4")) () ")"))))) (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x3195")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0030e904;" (goto "goto") (statement_identifier "LAB_0030e904") (; ";"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);" (assignment_expression "pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700)" (identifier "pcStack_90") (= "=") (cast_expression "(code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar14 + 0x1b6994) + -0x3700)" (( "(") (binary_expression "*(int *)(puVar14 + 0x1b6994) + -0x3700" (pointer_expression "*(int *)(puVar14 + 0x1b6994)" (* "*") (cast_expression "(int *)(puVar14 + 0x1b6994)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 0x1b6994)" (( "(") (binary_expression "puVar14 + 0x1b6994" (identifier "puVar14") (+ "+") (number_literal "0x1b6994")) () ")")))) (+ "+") (number_literal "-0x3700")) () ")")))) (; ";")) (expression_statement "unaff_s6 = (Sized_symbol *)FUN_0030c900();" (assignment_expression "unaff_s6 = (Sized_symbol *)FUN_0030c900()" (identifier "unaff_s6") (= "=") (cast_expression "(Sized_symbol *)FUN_0030c900()" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0030c900()" (identifier "FUN_0030c900") (argument_list "()" (( "(") () ")"))))) (; ";")) (do_statement "do {\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        } while (pSVar6 != (Symbol *)unaff_s6);" (do "do") (compound_statement "{\n          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);\n          iVar2 = *(int *)pSVar7;\n          uVar4 = *(undefined4 *)(iVar2 + 8);\n          uVar11 = *(undefined4 *)(iVar2 + 0x14);\n          uVar8 = *(undefined4 *)(iVar2 + 0x10);\n          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);\n          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;\n          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;\n          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;\n          apSStack_a0[0] = unaff_s6;\n          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);\n          if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }\n          unaff_s6 = (Sized_symbol *)(*pcStack_90)();\n        }" ({ "{") (expression_statement "(*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);" (call_expression "(*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff)" (parenthesized_expression "(*pcStack_98)" (( "(") (pointer_expression "*pcStack_98" (* "*") (identifier "pcStack_98")) () ")")) (argument_list "(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff)" (( "(") (identifier "unaff_s6") (, ",") (identifier "pSVar7") (, ",") (identifier "uVar10") (, ",") (binary_expression "(uint)pOVar17 & 0xff" (cast_expression "(uint)pOVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pOVar17")) (& "&") (number_literal "0xff")) () ")"))) (; ";")) (expression_statement "iVar2 = *(int *)pSVar7;" (assignment_expression "iVar2 = *(int *)pSVar7" (identifier "iVar2") (= "=") (pointer_expression "*(int *)pSVar7" (* "*") (cast_expression "(int *)pSVar7" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pSVar7")))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(iVar2 + 8);" (assignment_expression "uVar4 = *(undefined4 *)(iVar2 + 8)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 8)" (( "(") (binary_expression "iVar2 + 8" (identifier "iVar2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar11 = *(undefined4 *)(iVar2 + 0x14);" (assignment_expression "uVar11 = *(undefined4 *)(iVar2 + 0x14)" (identifier "uVar11") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x14)" (( "(") (binary_expression "iVar2 + 0x14" (identifier "iVar2") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)(iVar2 + 0x10);" (assignment_expression "uVar8 = *(undefined4 *)(iVar2 + 0x10)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc)" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x34)" (* "*") (cast_expression "(undefined4 *)(unaff_s6 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s6 + 0x34)" (( "(") (binary_expression "unaff_s6 + 0x34" (identifier "unaff_s6") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(unaff_s6 + 0x30) = uVar4;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x30) = uVar4" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x30)" (* "*") (cast_expression "(undefined4 *)(unaff_s6 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s6 + 0x30)" (( "(") (binary_expression "unaff_s6 + 0x30" (identifier "unaff_s6") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "*(undefined4 *)(unaff_s6 + 0x3c) = uVar11;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x3c) = uVar11" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(unaff_s6 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s6 + 0x3c)" (( "(") (binary_expression "unaff_s6 + 0x3c" (identifier "unaff_s6") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(unaff_s6 + 0x38) = uVar8;" (assignment_expression "*(undefined4 *)(unaff_s6 + 0x38) = uVar8" (pointer_expression "*(undefined4 *)(unaff_s6 + 0x38)" (* "*") (cast_expression "(undefined4 *)(unaff_s6 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s6 + 0x38)" (( "(") (binary_expression "unaff_s6 + 0x38" (identifier "unaff_s6") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "apSStack_a0[0] = unaff_s6;" (assignment_expression "apSStack_a0[0] = unaff_s6" (subscript_expression "apSStack_a0[0]" (identifier "apSStack_a0") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);" (assignment_expression "piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*pcStack_94)(puVar3,apSStack_a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_94)(puVar3,apSStack_a0)" (parenthesized_expression "(*pcStack_94)" (( "(") (pointer_expression "*pcStack_94" (* "*") (identifier "pcStack_94")) () ")")) (argument_list "(puVar3,apSStack_a0)" (( "(") (identifier "puVar3") (, ",") (identifier "apSStack_a0") () ")"))))) (; ";")) (if_statement "if (*piVar1 == 0) {\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            this_00 = (Symbol *)&DAT_00000091;\n            goto LAB_0030e7e8;\n          }" ({ "{") (expression_statement "this_00 = (Symbol *)&DAT_00000091;" (assignment_expression "this_00 = (Symbol *)&DAT_00000091" (identifier "this_00") (= "=") (cast_expression "(Symbol *)&DAT_00000091" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000091" (& "&") (identifier "DAT_00000091")))) (; ";")) (goto_statement "goto LAB_0030e7e8;" (goto "goto") (statement_identifier "LAB_0030e7e8") (; ";")) (} "}"))) (expression_statement "unaff_s6 = (Sized_symbol *)(*pcStack_90)();" (assignment_expression "unaff_s6 = (Sized_symbol *)(*pcStack_90)()" (identifier "unaff_s6") (= "=") (cast_expression "(Sized_symbol *)(*pcStack_90)()" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_90)()" (parenthesized_expression "(*pcStack_90)" (( "(") (pointer_expression "*pcStack_90" (* "*") (identifier "pcStack_90")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pSVar6 != (Symbol *)unaff_s6)" (( "(") (binary_expression "pSVar6 != (Symbol *)unaff_s6" (identifier "pSVar6") (!= "!=") (cast_expression "(Symbol *)unaff_s6" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s6"))) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);" (assignment_expression "local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700)" (identifier "local_30") (= "=") (cast_expression "(code *)(PTR_LAB_004c4fd8 + -0x3700)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_004c4fd8 + -0x3700)" (( "(") (binary_expression "PTR_LAB_004c4fd8 + -0x3700" (identifier "PTR_LAB_004c4fd8") (+ "+") (number_literal "-0x3700")) () ")")))) (; ";")) (expression_statement "unaff_s6 = (Sized_symbol *)FUN_0030c900();" (assignment_expression "unaff_s6 = (Sized_symbol *)FUN_0030c900()" (identifier "unaff_s6") (= "=") (cast_expression "(Sized_symbol *)FUN_0030c900()" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0030c900()" (identifier "FUN_0030c900") (argument_list "()" (( "(") () ")"))))) (; ";")) (do_statement "do {\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    } while (param_1 != unaff_s6);" (do "do") (compound_statement "{\n      uVar10 = uVar12;\n      pOVar17 = param_5;\n      pOVar18 = (Object *)param_6;\n      (*local_38)(unaff_s6,param_2,param_3);\n      local_40[0] = unaff_s6;\n      piVar1 = (int *)(*local_34)(pSVar13,local_40);\n      if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }\n      unaff_s6 = (Sized_symbol *)(*local_30)();\n    }" ({ "{") (expression_statement "uVar10 = uVar12;" (assignment_expression "uVar10 = uVar12" (identifier "uVar10") (= "=") (identifier "uVar12")) (; ";")) (expression_statement "pOVar17 = param_5;" (assignment_expression "pOVar17 = param_5" (identifier "pOVar17") (= "=") (identifier "param_5")) (; ";")) (expression_statement "pOVar18 = (Object *)param_6;" (assignment_expression "pOVar18 = (Object *)param_6" (identifier "pOVar18") (= "=") (cast_expression "(Object *)param_6" (( "(") (type_descriptor "Object *" (type_identifier "Object") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_6"))) (; ";")) (expression_statement "(*local_38)(unaff_s6,param_2,param_3);" (call_expression "(*local_38)(unaff_s6,param_2,param_3)" (parenthesized_expression "(*local_38)" (( "(") (pointer_expression "*local_38" (* "*") (identifier "local_38")) () ")")) (argument_list "(unaff_s6,param_2,param_3)" (( "(") (identifier "unaff_s6") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")"))) (; ";")) (expression_statement "local_40[0] = unaff_s6;" (assignment_expression "local_40[0] = unaff_s6" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piVar1 = (int *)(*local_34)(pSVar13,local_40);" (assignment_expression "piVar1 = (int *)(*local_34)(pSVar13,local_40)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*local_34)(pSVar13,local_40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_34)(pSVar13,local_40)" (parenthesized_expression "(*local_34)" (( "(") (pointer_expression "*local_34" (* "*") (identifier "local_34")) () ")")) (argument_list "(pSVar13,local_40)" (( "(") (identifier "pSVar13") (, ",") (identifier "local_40") () ")"))))) (; ";")) (if_statement "if (*piVar1 == 0) {\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pSVar6 = (Symbol *)&DAT_00000091;\n        goto LAB_0030e62c;\n      }" ({ "{") (expression_statement "pSVar6 = (Symbol *)&DAT_00000091;" (assignment_expression "pSVar6 = (Symbol *)&DAT_00000091" (identifier "pSVar6") (= "=") (cast_expression "(Symbol *)&DAT_00000091" (( "(") (type_descriptor "Symbol *" (type_identifier "Symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000091" (& "&") (identifier "DAT_00000091")))) (; ";")) (goto_statement "goto LAB_0030e62c;" (goto "goto") (statement_identifier "LAB_0030e62c") (; ";")) (} "}"))) (expression_statement "unaff_s6 = (Sized_symbol *)(*local_30)();" (assignment_expression "unaff_s6 = (Sized_symbol *)(*local_30)()" (identifier "unaff_s6") (= "=") (cast_expression "(Sized_symbol *)(*local_30)()" (( "(") (type_descriptor "Sized_symbol *" (type_identifier "Sized_symbol") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*local_30)()" (parenthesized_expression "(*local_30)" (( "(") (pointer_expression "*local_30" (* "*") (identifier "local_30")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 != unaff_s6)" (( "(") (binary_expression "param_1 != unaff_s6" (identifier "param_1") (!= "!=") (identifier "unaff_s6")) () ")")) (; ";")) (} "}")) (return "return") (; ";") (} "}"))
(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (function_declarator declarator: (identifier) (ERROR) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) (primitive_type)) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (false)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (ERROR (binary_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR) right: (identifier)) right: (false)) (ERROR (call_expression function: (parenthesized_expression (comma_expression left: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (pointer_expression (ERROR) argument: (identifier))) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (identifier))))))) (ERROR) 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: (number_literal))))) (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (true) (ERROR) right: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (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))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (true) right: (parenthesized_expression (ERROR (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))) right: (comma_expression left: (identifier) right: (identifier))))))) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (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: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) (ERROR) right: (assignment_expression left: (identifier) 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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier) (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)))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal)))))) (do_statement body: (compound_statement (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))) right: (number_literal)) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_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: (identifier))) arguments: (argument_list)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier)))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_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: (identifier))) arguments: (argument_list)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))

/* void gold::Symbol_table::override<64, false>(gold::Sized_symbol<64>*, elfcpp::Sym<64, false>
   const&, unsigned int, bool, gold::Object*, char const*) */

void __thiscall
gold::Symbol_table::MASKED
          (Symbol_table *this,Sized_symbol *param_1,Sym *param_2,uint param_3,bool param_4,
          Object *param_5,char *param_6)

{
  int *piVar1;
  int iVar2;
  undefined *puVar3;
  undefined4 uVar4;
  int iVar5;
  Symbol *pSVar6;
  Symbol *this_00;
  Sym *pSVar7;
  undefined4 uVar8;
  Symbol *pSVar9;
  uint uVar10;
  undefined4 uVar11;
  uint uVar12;
  Sized_symbol *unaff_s6;
  Symbol_table *pSVar13;
  undefined *puVar14;
  code *pcVar15;
  code *pcVar16;
  Symbol *apSStackY_f0 [2];
  Sym *pSStackY_e8;
  Symbol *pSStackY_e4;
  uint uStackY_e0;
  uint uStackY_dc;
  Object *pOStackY_d8;
  undefined4 uStackY_d4;
  Sized_symbol *pSStackY_d0;
  undefined *puStackY_cc;
  Sized_symbol **ppSStackY_c8;
  code *pcStackY_c4;
  Sized_symbol *apSStack_a0 [2];
  code *pcStack_98;
  code *pcStack_94;
  code *pcStack_90;
  Sized_symbol *pSStack_88;
  Sym *pSStack_84;
  uint uStack_80;
  uint uStack_7c;
  Object *pOStack_78;
  char *pcStack_74;
  Sized_symbol *pSStack_70;
  Symbol_table *pSStack_6c;
  Sized_symbol **ppSStack_68;
  code *pcStack_64;
  Object *pOVar17;
  Object *pOVar18;
  Sized_symbol *local_40 [2];
  code *local_38;
  code *local_34;
  code *local_30;
  
  local_38 = (code *)PTR_override<false>_004c4ff8;
  uVar12 = (uint)param_4;
  uVar10 = uVar12;
  pOVar17 = param_5;
  pOVar18 = (Object *)param_6;
  Sized_symbol<64>::override<false>
            ((Sized_symbol<64> *)param_1,param_2,param_3,param_4,param_5,param_6);
  if (*(int *)(param_1 + 0x28) << 0x15 < 0) {
    local_34 = (code *)PTR_operator___004c4ab4;
    pSVar13 = this + 0xb4;
    local_40[0] = param_1;
    piVar1 = (int *)(*(code *)PTR_operator___004c4ab4)(pSVar13,local_40);
    pSVar6 = (Symbol *)&DAT_0000008b;
    if (*piVar1 == 0) {
LAB_0030e62c:
      pSVar7 = (Sym *)(PTR_UINT_004c12dc + -0x7294);
      pcVar15 = override<64,true>;
      puVar3 = PTR_UINT_004c12dc + -0x7758;
      puVar14 = PTR_do_gold_unreachable_004c1a30;
      (*(code *)PTR_do_gold_unreachable_004c1a30)();
      pcStack_98 = *(code **)(puVar14 + 0x1b69b8);
      pcStack_74 = param_6;
      pOStack_78 = param_5;
      pSStack_88 = param_1;
      pSStack_84 = param_2;
      uStack_80 = param_3;
      uStack_7c = uVar12;
      pSStack_70 = unaff_s6;
      pSStack_6c = pSVar13;
      ppSStack_68 = local_40;
      pcStack_64 = pcVar15;
      Symbol::override_base<64,true>
                (pSVar6,pSVar7,uVar10,SUB41(pOVar17,0),pOVar18,
                 Position_dependent_options::default_options_ + 0x3210);
      iVar2 = *(int *)pSVar7;
      uVar4 = *(undefined4 *)(iVar2 + 8);
      uVar11 = *(undefined4 *)(iVar2 + 0x14);
      uVar8 = *(undefined4 *)(iVar2 + 0x10);
      *(undefined4 *)(pSVar6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);
      *(undefined4 *)(pSVar6 + 0x30) = uVar4;
      *(undefined4 *)(pSVar6 + 0x3c) = uVar11;
      *(undefined4 *)(pSVar6 + 0x38) = uVar8;
      if (*(int *)(pSVar6 + 0x28) << 0x15 < 0) {
        pcStack_94 = *(code **)(puVar14 + 0x1b6470);
        puVar3 = puVar3 + 0xb4;
        apSStack_a0[0] = (Sized_symbol *)pSVar6;
        piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);
        this_00 = (Symbol *)&DAT_0000008b;
        if (*piVar1 == 0) {
LAB_0030e7e8:
          pcVar15 = *(code **)(puVar14 + 0x1b33ec);
          pSVar9 = (Symbol *)(*(int *)(puVar14 + 0x1b2c98) + -0x72c4);
          pcVar16 = override_with_special<32>;
          iVar5 = *(int *)(puVar14 + 0x1b2c98) + -0x7758;
          (*pcVar15)(iVar5);
          uStackY_d4 = 0x4c9240;
          pSStackY_e8 = pSVar7;
          pSStackY_e4 = pSVar6;
          uStackY_e0 = uVar10;
          uStackY_dc = (uint)pOVar17 & 0xff;
          pOStackY_d8 = pOVar18;
          pSStackY_d0 = unaff_s6;
          puStackY_cc = puVar3;
          ppSStackY_c8 = apSStack_a0;
          pcStackY_c4 = pcVar16;
          Symbol::override_base_with_special(this_00,pSVar9);
          iVar2 = *(int *)(this_00 + 0x28);
          uVar4 = *(undefined4 *)(pSVar9 + 0x34);
          *(undefined4 *)(this_00 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);
          *(undefined4 *)(this_00 + 0x34) = uVar4;
          if (iVar2 << 0x15 < 0) {
            pcVar16 = *(code **)(pcVar15 + 0x1b62b4);
            apSStackY_f0[0] = this_00;
            piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);
            uVar4 = 0x457;
            if (*piVar1 == 0) {
LAB_0030e9f0:
              (**(code **)(pcVar15 + 0x1b3230))
                        (*(int *)(pcVar15 + 0x1b2adc) + -0x7758,uVar4,
                         *(int *)(pcVar15 + 0x1b2adc) + -0x72ec);
              return;
            }
            pSVar6 = (Symbol *)FUN_0030c880(*piVar1,0x457);
            do {
              Symbol::override_base_with_special(pSVar6,pSVar9);
              uVar4 = *(undefined4 *)(pSVar9 + 0x34);
              *(undefined4 *)(pSVar6 + 0x30) = *(undefined4 *)(pSVar9 + 0x30);
              *(undefined4 *)(pSVar6 + 0x34) = uVar4;
              apSStackY_f0[0] = pSVar6;
              piVar1 = (int *)(*pcVar16)(iVar5 + 0xb4,apSStackY_f0);
              if (*piVar1 == 0) {
                uVar4 = 0x45d;
                goto LAB_0030e9f0;
              }
              pSVar6 = (Symbol *)FUN_0030c880();
            } while (this_00 != pSVar6);
            iVar2 = *(int *)(this_00 + 0x28);
          }
          uVar10 = (uint)(iVar2 << 4) >> 0x1c;
          if (uVar10 == 0) {
LAB_0030e904:
            (**(code **)(pcVar15 + 0x1b6224))(iVar5,this_00);
            return;
          }
          if (((((uint)(iVar2 << 8) >> 0x1e) + 3 & 3) < 2) &&
             (((uVar10 + 0xf & 0xf) < 2 || (uVar10 == 10)))) {
            if (*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) == 0) {
              (**(code **)(pcVar15 + 0x1b3230))
                        (*(int *)(pcVar15 + 0x1b2a7c) + -0x9b8,0x5c,
                         *(int *)(pcVar15 + 0x1b2adc) + -0x71c4);
              return;
            }
            if (*(char *)(*(int *)(**(int **)(pcVar15 + 0x1b31b4) + 8) + 0x3195) == '\0')
            goto LAB_0030e904;
          }
          return;
        }
        pcStack_90 = (code *)(*(int *)(puVar14 + 0x1b6994) + -0x3700);
        unaff_s6 = (Sized_symbol *)FUN_0030c900();
        do {
          (*pcStack_98)(unaff_s6,pSVar7,uVar10,(uint)pOVar17 & 0xff);
          iVar2 = *(int *)pSVar7;
          uVar4 = *(undefined4 *)(iVar2 + 8);
          uVar11 = *(undefined4 *)(iVar2 + 0x14);
          uVar8 = *(undefined4 *)(iVar2 + 0x10);
          *(undefined4 *)(unaff_s6 + 0x34) = *(undefined4 *)(iVar2 + 0xc);
          *(undefined4 *)(unaff_s6 + 0x30) = uVar4;
          *(undefined4 *)(unaff_s6 + 0x3c) = uVar11;
          *(undefined4 *)(unaff_s6 + 0x38) = uVar8;
          apSStack_a0[0] = unaff_s6;
          piVar1 = (int *)(*pcStack_94)(puVar3,apSStack_a0);
          if (*piVar1 == 0) {
            this_00 = (Symbol *)&DAT_00000091;
            goto LAB_0030e7e8;
          }
          unaff_s6 = (Sized_symbol *)(*pcStack_90)();
        } while (pSVar6 != (Symbol *)unaff_s6);
      }
      return;
    }
    local_30 = (code *)(PTR_LAB_004c4fd8 + -0x3700);
    unaff_s6 = (Sized_symbol *)FUN_0030c900();
    do {
      uVar10 = uVar12;
      pOVar17 = param_5;
      pOVar18 = (Object *)param_6;
      (*local_38)(unaff_s6,param_2,param_3);
      local_40[0] = unaff_s6;
      piVar1 = (int *)(*local_34)(pSVar13,local_40);
      if (*piVar1 == 0) {
        pSVar6 = (Symbol *)&DAT_00000091;
        goto LAB_0030e62c;
      }
      unaff_s6 = (Sized_symbol *)(*local_30)();
    } while (param_1 != unaff_s6);
  }
  return;
}

